【问题标题】:Why is WMI so much slower tha using utilities like PsExec or PsList?为什么 WMI 比使用 PsExec 或 PsList 等实用程序慢得多?
【发布时间】:2011-08-29 19:29:43
【问题描述】:

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

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

【问题讨论】:

  • Sysinternals 多年未分发代码,但他们不会使用 WMI。它们通常结合使用 Win32 API 调用、NT Native API 调用和设备驱动程序。
  • 是否可以从旧版本的 sysinternals 获取代码?我找不到可用的下载链接。

标签: winapi wmi psexec sysinternals


【解决方案1】:

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

推荐阅读: WMI: Improving your WMI application performance in fan-out scenario

【讨论】:

    猜你喜欢
    • 2022-11-01
    • 2021-03-10
    • 2011-03-03
    • 1970-01-01
    • 2017-12-26
    • 2011-01-25
    • 2012-12-20
    • 1970-01-01
    相关资源
    最近更新 更多