WMI入门教程之怎么使用WMI?

 更新时间:2014年10月14日 10:14:07   投稿:junjie  
这篇文章主要介绍了WMI入门教程之怎么使用WMI?本文讲解了在软件中、PowerShell中、.NET中使用WMI的例子,需要的朋友可以参考下

知道了WMI是什么以后,肯定想要知道如何使用WMI干活。它能写“Hello World”吗?WMI没那么无聊,它一上来就会问你“你想要什么?”或者“你想要更改什么?”。。。

WMI工具

  Windows本身提供了几个WMI工具供用户使用,包括WMIC.exe、WBEMTest.exe和WMI Administrative Tools等。前两个是系统自带的,最后一个需要自己下载安装。不过说实话,我最喜欢WMI Administrative Tools。下载WMI Administrative Tools在这里。下面以WMI Administrative Tools为例说明如何使用工具使用WMI。

  下载并安装WMI Administrative Tools之后,会有4个工具,最常用的是其中的WMI CIM Studio。在开始菜单里单击它,你会发现它是以网页形式在IE浏览器中打开的。

使用步骤如下:

  1、单击页面上部的电脑图标,会显示一个对话框,单击“Connect”按钮,如图1所示;
 
  图1

  2、任何时候出现如图2所示的登陆对话框,单击OK按钮即可;

  

图2

  3、选择合适的命令空间(这里选择常用的root\cimv2),然后单击OK按钮,如图3所示;

   

图3

 4、直接双击右侧类名,或者单击上部的望远镜按钮,在弹出的查找对话窗中输入你要查找的完整类名或者类名的一部分,单击Go按钮查找;并在查找结果中选择你要查看的类名,单击OK按钮,如图4所示;

  图4

  5、单击右上部倒数第4个实例按钮,即可得到本机所有安装的软件列表,如图5所示;

   

图5

任何WMI类以及实例的查看均可参考以上步骤。

PowerShell脚本操作WMI

  以前对WMI的操作都是通过VB Script进行的,现在更多人倾向于使用PowerShell来访问WMI类和对象。下面给出使用PowerShell命令查询本机安装的所有软件列表的示例:

复制代码 代码如下:

PS C:\Users\luke> Get-WmiObject -Class Win32_Product | select name

name
----
HelpDesk
Windows Installer Clean Up
XML Notepad 2007
Microsoft Network Monitor 3.4
Microsoft Visual Studio 2010 Service Pack 1
ScreenRecorder
Microsoft Office Visual Web Developer 2007
Microsoft Office Visual Web Developer MUI (English) 2007
...

比使用带界面的WMI要简单的多,而且还可以有很多筛选条件。

.Net操作WMI

  使用.Net中的高级语言来操作WMI也非常的方便。下面示例演示C#操作WMI获得本机安装软件的列表的代码:

复制代码 代码如下:

using System;
using System.Management;

namespace WMIDemo
{
    class Program
    {
        static void Main(string[] args)
        {
            ManagementPath wmiPath = new ManagementPath(@"\\.\root\cimv2:Win32_Product");
            ManagementClass wmiClass = new ManagementClass(wmiPath);

            ManagementObjectCollection instances = wmiClass.GetInstances();

            Console.WriteLine("Name, Vendor");
            foreach (ManagementObject product in instances)
            {
                Console.WriteLine(String.Format("{0}, {1} ", product["Name"], product["Vendor"]));
            }
        }
    }
}

结语  

  WMI是一个多面手,你个可以从各个测面来使用它。套用一句广告词:关于WMI,你怎么用?

相关文章

  • PowerShell实现批量重命名文件

    PowerShell实现批量重命名文件

    这篇文章主要介绍了PowerShell实现批量重命名文件,本文直接给出实现代码,需要的朋友可以参考下
    2015-04-04
  • PowerShell命令中包含空格如何运行?

    PowerShell命令中包含空格如何运行?

    这篇文章主要介绍了PowerShell命令中包含空格如何运行?即在PowerShell中运行包含空格的命令的方法,需要的朋友可以参考下
    2014-08-08
  • WMI入门教程之怎么使用WMI?

    WMI入门教程之怎么使用WMI?

    这篇文章主要介绍了WMI入门教程之怎么使用WMI?本文讲解了在软件中、PowerShell中、.NET中使用WMI的例子,需要的朋友可以参考下
    2014-10-10
  • PowerShell中使用正则表达式筛选数组实例

    PowerShell中使用正则表达式筛选数组实例

    这篇文章主要介绍了PowerShell中使用正则表达式筛选数组实例,使用match操作符配合相应正则表达式实现数组筛选功能,需要的朋友可以参考下
    2014-07-07
  • Windows Powershell 环境变量

    Windows Powershell 环境变量

    Windows PowerShell提供了一个名为euv的盘符,通过它可以访问传统的环境变量。因此,举个例子来说,Cmd.exe传统命令行中的%TEMP%变量,在PowerShell中对应的表达式就是env:\temp。今天我们就来详细的探讨下Powershell的环境变量
    2014-09-09
  • Powershell小技巧之查找脚本中的函数

    Powershell小技巧之查找脚本中的函数

    这篇文章主要介绍了使用Powershell查找脚本中的函数,非常简单实用,有需要的朋友可以参考下
    2014-09-09
  • PowerShell查看本机文件关联程序和默认打开程序的方法

    PowerShell查看本机文件关联程序和默认打开程序的方法

    这篇文章主要介绍了PowerShell查看本机文件关联程序和默认打开程序的方法,本文给出了查看方法,同时给出了一份读取结果,需要的朋友可以参考下
    2015-06-06
  • PowerShell使用正则表达式查找字符串实例

    PowerShell使用正则表达式查找字符串实例

    这篇文章主要介绍了PowerShell使用正则表达式查找字符串实例,主要是对match运算符的使用介绍,需要的朋友可以参考下
    2014-08-08
  • 探索PowerShell(五) PowerShell基础知识

    探索PowerShell(五) PowerShell基础知识

    在PowerShell中,我们可以轻松的与数据、对象进行交互,为了简化我们访问外部数据,PowerShell允许我们像操作驱动器、文件一样对数据、对象等进行操作
    2012-12-12
  • PowerShell多线程执行前后台作业的例子

    PowerShell多线程执行前后台作业的例子

    使用后台作业执行多个任务从先前的技巧中看不是非常高效,它在处理每个后台作业返回结果时将会浪费很多性能。一个更有效的方法是使用进程内的任务。他能分别单独的执行任务与Powershell类似,所以它不是按顺序返回值的
    2014-04-04

最新评论