【问题标题】:Does there exist a way by which i can use WMI classes in java有没有一种方法可以让我在 java 中使用 WMI 类
【发布时间】:2011-09-11 10:16:06
【问题描述】:

您好,我想使用 WMI 类来查找应用程序和产品信息。但问题是我想使用 java 或任何脚本语言,如 python、javascript 或 perl。我听说过 JWMI,它可能是一种选择。谁能帮我解决这个问题???

【问题讨论】:

    标签: codeigniter java javascript python perl


    【解决方案1】:

    JavaScript 和 Java 不是一回事。

    JavaScript

    JavaScript 在 Windows Scripting Host (WSH) 下可用。有了它,访问 WMI 就相当容易了:

    var loc = new ActiveXObject("WbemScripting.SWbemLocator");
    var svc = loc.ConnectServer(".", "root\\cimv2");
    coll = svc.ExecQuery("select * from Win32_Process");
    var items = new Enumerator(coll);
    
    while ( !items.atEnd() )
    {
        WScript.Echo(items.item().Name);
        items.moveNext();
    }
    

    jWMI (Java)

    jWMI 是一个小型库,可让 Java 进行一般 WMI 查询。好像是available here

    http://henryranch.net/software/jwmi-query-windows-wmi-from-java/

    它似乎也很容易使用(虽然我不确定它有多强大或完整):

    String name = getWMIValue("Select Name from Win32_ComputerSystem", "Name");
    

    WBEM (Java)

    WMI 是 Web Based Enterprise Management (WBEM) 的 Microsoft 实现。还有一个Java implementation of general WBEM,它将在某种程度上与 WMI 兼容。

    这可能是您将找到的最完整的真正 Java 实现。如果您的需求超出了小型脚本(例如实现 WBEM/WMI 提供程序),那么您可能需要考虑这个选项。

    【讨论】:

      【解决方案2】:

      对于脚本语言:下载 Scriptomatic 2.0 并让向导为 VBScript、JScript、Perl 和 Python 创建 WMI 代码。 Here 与 Powershell 类似。

      【讨论】:

        【解决方案3】:

        我已经通过JACOB成功使用WMI

        【讨论】:

          【解决方案4】:

          JInterop 是 Java 中 WMI 操作的不错选择。

          【讨论】:

            【解决方案5】:

            【讨论】:

              【解决方案6】:

              JWMI 通过创建和执行带有相关查询的 vb 脚本来执行 WMI 操作。
              我正在使用J-Interop,这是一个开源且不错的选择。
              还有JACOBJ-IntegraEZ Jcom

              【讨论】:

                【解决方案7】:

                为了执行 WMI 查询,我向您推荐我的库 WMI4Java

                非常好用:

                Map<String, String> wmiObjectProperties =   
                    WMI4Java.get().getWMIObject("Win32_BIOS");
                

                【讨论】:

                • 如何获取磁盘制造序列号?设备 ID 和其他与磁盘相关的东西?
                猜你喜欢
                • 2012-04-09
                • 1970-01-01
                • 1970-01-01
                • 1970-01-01
                • 1970-01-01
                • 1970-01-01
                • 1970-01-01
                • 1970-01-01
                • 2016-04-24
                相关资源
                最近更新 更多