WMI入門教程之怎么使用WMI?
知道了WMI是什么以后,肯定想要知道如何使用WMI干活。它能寫“Hello World”嗎?WMI沒那么無聊,它一上來就會(huì)問你“你想要什么?”或者“你想要更改什么?”。。。
WMI工具
Windows本身提供了幾個(gè)WMI工具供用戶使用,包括WMIC.exe、WBEMTest.exe和WMI Administrative Tools等。前兩個(gè)是系統(tǒng)自帶的,最后一個(gè)需要自己下載安裝。不過說實(shí)話,我最喜歡WMI Administrative Tools。下載WMI Administrative Tools在這里。下面以WMI Administrative Tools為例說明如何使用工具使用WMI。
下載并安裝WMI Administrative Tools之后,會(huì)有4個(gè)工具,最常用的是其中的WMI CIM Studio。在開始菜單里單擊它,你會(huì)發(fā)現(xiàn)它是以網(wǎng)頁形式在IE瀏覽器中打開的。
使用步驟如下:
1、單擊頁面上部的電腦圖標(biāo),會(huì)顯示一個(gè)對(duì)話框,單擊“Connect”按鈕,如圖1所示;
圖1
2、任何時(shí)候出現(xiàn)如圖2所示的登陸對(duì)話框,單擊OK按鈕即可;
圖2
3、選擇合適的命令空間(這里選擇常用的root\cimv2),然后單擊OK按鈕,如圖3所示;
圖3
4、直接雙擊右側(cè)類名,或者單擊上部的望遠(yuǎn)鏡按鈕,在彈出的查找對(duì)話窗中輸入你要查找的完整類名或者類名的一部分,單擊Go按鈕查找;并在查找結(jié)果中選擇你要查看的類名,單擊OK按鈕,如圖4所示;
圖4
5、單擊右上部倒數(shù)第4個(gè)實(shí)例按鈕,即可得到本機(jī)所有安裝的軟件列表,如圖5所示;
圖5
任何WMI類以及實(shí)例的查看均可參考以上步驟。
PowerShell腳本操作WMI
以前對(duì)WMI的操作都是通過VB Script進(jìn)行的,現(xiàn)在更多人傾向于使用PowerShell來訪問WMI類和對(duì)象。下面給出使用PowerShell命令查詢本機(jī)安裝的所有軟件列表的示例:
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要簡(jiǎn)單的多,而且還可以有很多篩選條件。
.Net操作WMI
使用.Net中的高級(jí)語言來操作WMI也非常的方便。下面示例演示C#操作WMI獲得本機(jī)安裝軟件的列表的代碼:
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"]));
}
}
}
}
結(jié)語
WMI是一個(gè)多面手,你個(gè)可以從各個(gè)測(cè)面來使用它。套用一句廣告詞:關(guān)于WMI,你怎么用?
相關(guān)文章
Powershell在一個(gè)會(huì)話中只允許執(zhí)行指定命令的方法
這篇文章主要介紹了Powershell在一個(gè)會(huì)話中只允許執(zhí)行指定命令的方法,使用本文的技巧可以達(dá)到控制權(quán)限的功能,需要的朋友可以參考下2014-11-11Windows Powershell分析和比較管道結(jié)果
這篇文章主要介紹了Windows Powershell分析和比較管道結(jié)果,需要的朋友可以參考下2014-09-09PowerShell腳本開發(fā)之對(duì)指定IP進(jìn)行端口掃描
在本文通過一段小腳本的方式引入了通過PowerShell實(shí)現(xiàn)簡(jiǎn)單安全滲透功能的想法,首先介紹了該小腳本是如何實(shí)現(xiàn)功能的,接下來對(duì)創(chuàng)建腳本工具集并導(dǎo)入的方法,隨后又在該工具集中創(chuàng)建了Test-TCPPort函數(shù),并介紹了調(diào)用方法.2014-10-10PowerShell中執(zhí)行Javascript的方法示例
這篇文章主要介紹了PowerShell中執(zhí)行Javascript的方法示例,特殊場(chǎng)景下可能會(huì)用到這個(gè)技巧,需要的朋友可以參考下2014-07-07PowerShell中字符串使用單引號(hào)和雙引號(hào)的區(qū)別
這篇文章主要介紹了PowerShell中字符串使用單引號(hào)和雙引號(hào)的區(qū)別,大家可能會(huì)經(jīng)常遇到這個(gè)問題,需要的朋友可以參考下2014-08-08PowerShell入門教程之訪問.Net程序集、COM和WMI實(shí)例
這篇文章主要介紹了PowerShell入門教程之訪問.Net程序集、COM和WMI實(shí)例,本文講解了PowerShell作為Windows平臺(tái)的脫水語言來訪問其它資源的例子,需要的朋友可以參考下2014-10-10PowerShell檢查網(wǎng)卡狀態(tài)和對(duì)應(yīng)的電源設(shè)置
這篇文章主要介紹了PowerShell檢查網(wǎng)卡狀態(tài)和對(duì)應(yīng)的電源設(shè)置,本文直接給出了實(shí)現(xiàn)方法和使用命令及輸出結(jié)果,需要的朋友可以參考下2015-03-03