WMI及其較新的兄弟CIM都可用於管理環境中的Windows計算機。但是你知道他們之間的區別嗎?加入我們一起看一看。
請務必閱讀本系列之前的文章:
整個星期請繼續關注本系列的其餘部分。
WMI代表Windows Management Instrumentation。“Instrumentation”一詞指的是WMI允許您獲取有關計算機內部狀態的資訊,就像汽車中的儀表板儀表可以檢索和顯示有關汽車內部元件狀態的資訊一樣。
WMI由一個儲存庫組成,其中包含表示可以在您的計算機中管理的元件的類。我們的意思是,僅僅因為WMI有一個Win32\u電池類並不意味著你的機器包含電池。然後可以使用與SQL非常類似的查詢語言WQL在本地甚至網路上查詢這些類的資訊。然而,眾所周知WMI非常不可靠,這主要是因為它基於RPC(遠端過程呼叫),RPC對它們選擇的通訊埠做了一些瘋狂的事情。
從Windows8和Server2012開始,WMI逐漸被淘汰,取而代之的是公共資訊模型,簡稱CIM。WMI和CIM之間的唯一區別是它們使用的傳輸協議。當WMI使用遠端過程呼叫執行查詢時,CIM使用HTTP,這似乎有很大的不同。在後端,他們仍在與同一個資訊儲存庫交談。
最快和最簡單的方式探索資訊提供給您透過WMI是抓取任何免費的WMI物件瀏覽器的副本。我們喜歡這個。一旦下載,啟動它,你將有一個圖形介面瀏覽WMI類。
如果您想了解有關計算機磁碟配置的資訊,請按Ctrl+F組合鍵以開啟搜尋框,然後鍵入“logicaldisk”並按enter。
這將立即帶您進入Win32\U LogicalDisk類。
在應用程式的下半部分,您可以看到我們有兩個類的例項。
一旦我們找到了我們要找的類,從PowerShell查詢它就很簡單了。
Get-WmiObject -Query “SELECT * FROM Win32_LogicalDisk”
我已經有一段時間沒有看到這種語法了,現在人們更喜歡使用新的引數化語法。
Get-WmiObject –Class Win32_LogicalDisk
如果要從網路上的另一臺計算機獲取資訊,只需使用ComputerName引數即可。
Get-WmiObject -Class Win32_LogicalDisk -ComputerName Viper –Credential viper\administrator
請記住,CIM僅在Windows 8和Server 2012上可用,向前看,這絕對是一條路要走。
Get-CimInstance –ClassName Win32_LogicalDisk
在使用getciminstance時,還有–ClassName引數的製表符完成,這表明今後微軟的工作將集中在這一點上。
事實上,WMI是由微軟內部一個完全獨立的團隊開發的,但後來被負責PowerShell的人員接管了。正是他們注意到,要清理我留下的爛攤子將非常困難。為了彌補這種情況,他們正試圖透過在引擎蓋下編寫使用WMI和CIM的包裝器cmdlet來提高WMI和CIM的可用性。檢查cmdlet是否為包裝器的唯一方法是檢視文件。例如,Get Hotfix cmdlet是Win32\u QuickFixEngineering類的包裝器,如文件中所示。
這意味著您可以使用get HotFix cmdlet而不是WMI查詢在遠端計算機上獲取修補程式。
Get-HotFix –ComputerName localhost
所以你有了它。只需記住,如果有一個專用的cmdlet,您將始終希望使用它,如果cmdlet不存在,則會使用CIM。最後,如果其他所有操作都失敗了,或者您的環境中有較舊的計算機,您將希望使用WMI。這是我這一次的全部。明天見,更多的能量地獄樂趣。
使用Windows10的PowerShellcmdlet,您可以輕鬆地新增應用程式,以便在啟動時自動觸發VPN連線。自動化這個任務意味著當你使用某些應用程式時,你甚至不必考慮連線到VPN。 要利用PowerShell中的此功能,如果您還沒有VPN服務,則必須...
....1和7上執行此操作的幾種不同方法。 簡單的方法:使用powershell命令 相關:極客學校:學習如何用PowerShell自動化Windows PowerShell是Windows中最強大的工具之一,所以它當然可以做一些簡單的事情,比如列出你安裝的程式。事實上...
...題,通常可以透過更換至少一個柱塞杆來解決。 windows powershell(x86) PowerShell是一種高階指令碼環境。對於那些在Windows上真正需要命令列介面的人來說,PowerShell是Windows命令提示符的強大繼承者。如果您不需要一個強大的命令...
Windows7增加了PowerShell,一種比命令提示符更強大的命令列shell和指令碼語言。自Windows7以來,PowerShell變得更加突出,它甚至成為Windows10的預設選擇。 PowerShell比傳統的命令提示符更復雜,但它也更強大。命令提示符明顯不如Linux...
當你為你的極客學校測試測試設定和配置時,快照可以節省大量的時間。繼續讀下去,看看你可以如何利用它們,同時跟隨我們的文章。 快照的基本思想是,您可以按照您想要的方式設定虛擬機器,獲取快照,然後您可以進行...
我們的極客學校文章可能會變得相當複雜,沒有理由在你自己的臺式電腦上做大量瘋狂的事情。相反,你可以像我們一樣建立虛擬機器來進行所有測試。下面是如何做到這一點。 您甚至可以將多個虛擬機器連線在一起,因此只...
...的計算機上一次啟動的時間。在上一次安裝Geek School for PowerShell時,我們將編寫一個可重用的PowerShell命令來完成同樣的任務。 請務必閱讀本系列之前的文章: 瞭解如何使用PowerShell自動化Windows 學習在PowerShell中使用cmdlet 學習如...
PowerShell為您提供了兩種擴充套件shell的方法。您可以使用管理單元,它是二進位制的,並且是用成熟的程式語言(如C#)開發的,也可以使用模組,它可以是二進位制的,也可以是基於指令碼的。 請務必閱讀本系列之前的文章...
PowerShell有四種類型的作業—後臺作業、遠端作業、WMI作業和計劃作業。加入我們,瞭解它們是什麼以及如何使用它們。 請務必閱讀本系列之前的文章: 瞭解如何使用PowerShell自動化Windows 學習在PowerShell中使用cmdlet 學習如何在Po...
由於PowerShell基於.Net框架,並結合了各種其他技術,如WMI和CIM,因此實現同一目標的方法總是不止一種。快來加入我們,學習如何選擇最佳的方法來完成我們的任務。 請務必閱讀本系列之前的文章: 瞭解如何使用PowerShell自動...