佳木斯湛栽影视文化发展公司

主頁 > 知識庫 > 探索PowerShell(十三) WMI對象介紹

探索PowerShell(十三) WMI對象介紹

熱門標(biāo)簽:呼叫中心市場需求 Linux服務(wù)器 網(wǎng)站排名優(yōu)化 鐵路電話系統(tǒng) AI電銷 地方門戶網(wǎng)站 百度競價排名 服務(wù)外包
我記得在xp時代,經(jīng)常使用的工具有一個叫做WMI Administrative Tools,是微軟官方提供的用來查看、編輯WMI對象的,只是現(xiàn)在好似不支持新的系統(tǒng)了。但是,在Win7、Server 2008下,這些功能都可以方便的通過PowerShell來完成。

首先,先來認(rèn)識一下什么是WMI對象:

WMI是作為一個基本的數(shù)據(jù)庫存在于Windows系統(tǒng)中的。我們可以連接到WMI服務(wù)請求查詢其中所包含的信息。WMI包括了系統(tǒng)方方面面的信息,包括:
• 機器信息:制造商、型號、序列號等
• BIOS信息
• OS信息
• CPU信息:種類、制造商、速度、版本
• 服務(wù)器內(nèi)存總量
• 磁盤信息:容量、格式等
• 網(wǎng)絡(luò)信息:MAC、IP等
• 其他
可以看出WMI內(nèi)容是多么的豐富,幾乎包括了計算機的方方面面。

利用PowerShell查看WMI成員

在PowerShell中通過以下命令列出WMI對象:
get-wmiObject -list -namespace “root\CIMV2″ enter>

需要具體查看某個類的成員,使用下面的命令(例如類"win32_process"):

get-wmiobject -class win32_process -namespace "root\cimv2" | get-member 

可以看到每個有的成員是屬性(Property),而有的則是方法(Method)。

那么,有兩個問題:

為什么要使用-namespace "root\cimv2"?

cimv2是WMI的一個命名空間,每個命名空間下有不同的WMI對象成員。cimv2是其默認(rèn)設(shè)置??梢园凑找韵虏襟E進行修改:

控制面板 -> 管理工具 -> 計算機管理 -> 服務(wù)和應(yīng)用程序 -> 右鍵"WMI控制" -> 屬性 -> 高級

參數(shù)"-namespace"并非必須,但是,使用它有兩個好處,一是保證我們能準(zhǔn)確的查看指定命名空間下的WMI對象,因為有時默認(rèn)命名空間并非我們所希望查看的;二是如果不指定命名空間,被設(shè)置過的計算機可能拒絕我們的訪問請求。

注:因為我使用英文版系統(tǒng),上述步驟中個別名稱可能不準(zhǔn)確。



在如上圖所示的界面,即可修改默認(rèn)路徑。

另一個問題是,查看成員的類型有什么用?

如果一個成員是方法,那么,我們可以調(diào)用它。如果一個成員是屬性,我們則可以查看它的值。但是,需要注意的是,不同的屬性成員有不同的數(shù)據(jù)結(jié)構(gòu),有的是"System.String",有的是"System.UInt32",有的則是"System.String[ ]",在使用時,應(yīng)當(dāng)注意數(shù)據(jù)格式,否則會報錯的。

如果我們需要管理網(wǎng)絡(luò)中的計算機,則需要指定計算機名稱:

get-wmiObject -list -namespace “root\CIMV2″ -computername 計算機名 enter>
好了,現(xiàn)在來具體操作,查看具體信息。

例:

查看BIOS信息

get-wmiobject -class win32_bios -namespace "root\cimv2" enter>
運行結(jié)果:

 


查看服務(wù)信息

get-wmiobject -class win32_service -namespace "root\cimv2" | format-list * enter> 查看機器信息

get-wmiobject -class win32_computersystem | format-list * enter> 

在網(wǎng)絡(luò)管理環(huán)境中的多數(shù)情況下,我們可能要查看不同的計算機信息,因此,就需要使用計算機這一參數(shù),例如:

查詢本地計算機的網(wǎng)絡(luò)信息

復(fù)制代碼 代碼如下:

$name="."

$items = get-wmiObject -class win32_NetworkAdapterConfiguration '
-namespace "root\CIMV2" -ComputerName $name | where{$_.IPEnabled -eq “True”} 
foreach($obj in $items) { 
Write-Host "DHCP Enabled:" $obj.DHCPEnabled 
Write-Host "IP Address:" $obj.IPAddress 
Write-Host "Subnet Mask:" $obj.IPSubnet 
Write-Host "Gateway:" $obj.DefaultIPGateway 
Write-Host "MAC Address:" $ojb.MACAddress 
}


如果查詢對象是其他機器,只需給變量"$name"賦與其他值即可。

例如:

復(fù)制代碼 代碼如下:

$name=read-host "Enter Computer Name"
write-host "Computer:"$name
$items = get-wmiObject -class win32_NetworkAdapterConfiguration '
-namespace "root\CIMV2" -ComputerName $name | where{$_.IPEnabled -eq “True”} 

foreach($obj in $items) { 
Write-Host "DHCP Enabled:" $obj.DHCPEnabled 
Write-Host "IP Address:" $obj.IPAddress 
Write-Host "Subnet Mask:" $obj.IPSubnet 
Write-Host "Gateway:" $obj.DefaultIPGateway 
Write-Host "MAC Address:" $ojb.MACAddress 
}


配合更多的查詢命令,便可以方便的寫出一個查詢計算機信息的腳本,在本教程的結(jié)束部分,我會盡可能多的提供各種常用腳本。本節(jié)內(nèi)容就先寫到這里。

您可能感興趣的文章:
  • 探索PowerShell(十四) 使用WMI對象的方法
  • Powershell小技巧之使用WMI測試服務(wù)響應(yīng)
  • Powershell小技巧之使用WMI查詢插上的U盤
  • PowerShell入門教程之訪問.Net程序集、COM和WMI實例
  • Powershell小技巧之使用WMI工具

標(biāo)簽:黃山 蘭州 衡水 湘潭 崇左 仙桃 湖南 銅川

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《探索PowerShell(十三) WMI對象介紹》,本文關(guān)鍵詞  ;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 收縮
    • 微信客服
    • 微信二維碼
    • 電話咨詢

    • 400-1100-266
    武夷山市| 洪湖市| 田阳县| 科技| 涪陵区| 宁远县| 通许县| 卫辉市| 岐山县| 扶沟县| 高尔夫| 龙口市| 雅江县| 沙坪坝区| 乌海市| 荥阳市| 平昌县| 涞源县| 虞城县| 灯塔市| 定陶县| 合水县| 杭州市| 恩平市| 绍兴市| 黎川县| 长葛市| 扶沟县| 永丰县| 临猗县| 阿坝| 汕尾市| 准格尔旗| 富蕴县| 东安县| 灵武市| 锦州市| 北票市| 铜陵市| 阳朔县| 定南县|