【问题标题】:Anybody uses WMI? Whats the future?有人用WMI吗?未来是什么?
【发布时间】:2010-08-09 02:21:07
【问题描述】:

我在 .net 2.0 时代使用 WMI。我不得不使用它,因为别无选择。但是今天我们在 BCL 中有很多功能,使用 WMI 仍然有意义吗? MS 是否支持 - 我应该在生产代码中使用它吗?

我讨厌它的一件事是我需要编写字符串查询。它容易出现拼写错误,没有语法检查。我可以使用Management Strongly Typed Class Generator (Mgmtclassgen.exe) 将它转换为 C# 类,但它仍然需要字符串参数作为路径。

【问题讨论】:

    标签: c# wmi


    【解决方案1】:

    我会说 PowerShell 中的 WMI 支持是 WMI 仍有未来的一个很好的指标。我不时使用它进行远程管理以执行某些维护任务。

    【讨论】:

    • 要记住的一点是它只是你机器上的一个服务,可以关闭,在这种情况下你不能再使用WMI
    【解决方案2】:

    我们实际上仍然在我们的一些生产代码中使用它,这是一个用于历史监控各种服务器性能和配置细节的工具包。

    这对我们来说非常方便,因为在计划任务的控制下很容易将一些 VBScript 文件放在一起,这些计划任务负责数据收集和传输。这使得它可以在各种 Windows 机器上运行,而不必担心编译到正确的目标。它还允许在现场非常快速地修复错误,因为我们可以只发布一个简单的文本文件。

    源代码可见这一事实与我们无关,使用 WMI 收集数据的想法并不是某种珍贵的 IP :-)

    我确信有更好的工具,但这是我们找到的最简单的方法。据我所知,它仍然受支持,因为他们仍然在以后的操作系统中提供它。

    唯一让我们(一次)感到痛苦的是版本之间的细微变化,例如对象本身被弃用或删除,使 WMI 查询变得无用。我们只需要注意这种情况并根据需要调整脚本。

    【讨论】:

      【解决方案3】:

      WMI 仍被监控系统广泛使用。例如,它由 Microsoft Operations Manager 使用。同样如前所述,您可以在 PowerShell 中看到 WMI 支持。

      我建议您也检查一下ServerFault,因为 IT 管理员也必须对此非常了解。

      【讨论】:

        猜你喜欢
        • 2011-08-01
        • 2010-10-23
        • 1970-01-01
        • 2011-07-23
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-10-02
        相关资源
        最近更新 更多