WMI中的响应大小限制
问题描述:
我需要从远程服务器使用WMI获取自定义用户对象。用户数可能超过500,000。运行以下代码安全吗?WMI中的响应大小限制
var queryStr = "select * from MyUserClass";
var query = new SelectQuery(queryStr);
var searcher = new ManagementObjectSearcher(MngScope, query);
var result = searcher.Get();
我找不到任何有关响应大小限制的信息。 我担心数据大小将超过以太网响应的阈值。或者,ManagementObjectSearcher依次获取数据,然后返回结果?
而且它看起来像COUNT关键字不存在WQL。 那我怎么才能得到一些物体呢?
答
正如您在this question中看到的,不可能在WQL
中限制结果数量。
即便如此,一个系统没有理由拥有超过500,000个用户。
如果您害怕系统“欺骗”您并且无论如何返回这么多用户,您可以通过在另一个Thread
中执行查询时间来限制查询时间。
我担心数据大小将超过以太网响应的阈值。或者,ManagementObjectSearcher依次获取数据,然后返回结果? – fresh
即使数据不会按顺序返回,即使结果(对于某些非标准原因)太大,只需设置超时值即使数据不会按顺序返回,也不必担心以太网应用程序会冻结应用程序。仍然,一个标准的系统永远不会为你提供这么多的用户... –
该代码作为服务在单独的线程中运行。它是一个自定义对象,我需要将它们与我的系统同步,用户数可能是公司中的员工数。但是我没有机会在发布之前用这么多的数据测试我的代码。也许我需要找到远程服务器上存在的一些系统对象,以及哪个数量很大,并尝试将它们拉出来。无论如何,感谢您的回应! – fresh