为什么WMI使用像PsExec或PsList这样的实用程序要慢得多?

时间:2011-08-29 19:29:44

标签: winapi wmi psexec sysinternals

我正在使用WMI进行各种操作系统管理和查询任务,但总是需要很长时间才能进行第一次WMI调用(10到15秒)。 当我尝试使用sysinternals中的一些工具时,我发现它们的速度要快得多,我想知道这是怎么回事。 例如,PsList工具如何在2秒内返回结果,对于wmi,它至少需要15秒。大部分时间用于身份验证而不是实际工作,同一台机器的下一个wmi查询要快得多。

可以看到sysinternals utilites的源代码吗?他们使用WMI还是直接使用win32 api?

1 个答案:

答案 0 :(得分:2)

WMI有很多开销:身份验证/授权访问WMI命名空间/ DCOM / RPC。它旨在实现简单安全的管理,而非性能。

建议阅读: WMI: Improving your WMI application performance in fan-out scenario