我想列出在 \\root\ 下可以使用哪些東西。但是我不知道如何列出或查看我可以使用哪些東西。因為,我是 powershell 的初學者。
我正在撰寫這個東西: wmic /namespace:\root\ (但我不知道我可以在 root 下使用哪些東西。正因為如此,我不能使用任何東西:/)
我如何列出哪些東西可以在 root 下使用?如果有人可以提供幫助,我會很高興:D
我嘗試使用“/?” 但這沒有幫助。另外我在谷歌上進行了研究,但我又找不到對自己有用的東西,或者我無法理解他們的解決方案。
uj5u.com熱心網友回復:
有一個 WMI 類__namespace可以查詢:
Get-WmiObject -Namespace Root -Class __Namespace | Select Name
Name
----
subscription
DEFAULT
CIMV2
msdtc
Cli
SECURITY
SecurityCenter2
RSOP
PEH
StandardCimv2
WMI
MSPS
directory
Policy
Interop
Hardware
ServiceModel
SecurityCenter
Microsoft
Appv
我建議閱讀有關 WMI的內容。它涵蓋了一些可發現性方面,這些方面很重要,因為:
在 Windows 8 的默認安裝中,Root/Cimv2 中有超過 1,100 個 WMI 類
較新版本的 powershell 使用CIM over WMI以及Get-CimInstance. 暫時不用擔心,但是在學習的時候看看就好了
WMIC是一個獨立于 powershell 的 exe,并且不回傳 powershell 物件。除非您堅持使用命令提示符,否則我會避免使用它
uj5u.com熱心網友回復:
Cpt.Whale 的回答很有幫助,但使用了已棄用的WMI cmdlet(來自Get-WmiObject檔案頁面:“從 PowerShell 3.0 開始,此 cmdlet 已被 Get-CimInstance 取代”);同樣,wmic.exe已棄用(請參閱頁面頂部的注釋)。兩者都被CIM cmdlet棄用,因此標準建議適用:
- CIM cmdlet(例如,
Get-CimInstance)取代了Get-WmiObjectPowerShell v3(2012 年 9 月發布)中的 WMI cmdlet(例如,)。因此,應該避免使用 WMI cmdlet,尤其是因為PowerShell (Core) v7 ,所有未來的努力都將用于,甚至不再擁有它們。但是請注意,WMI 仍然是CIM cmdlet 的基礎。 - 有關詳細資訊,包括這兩組 cmdlet 之間的差異,請參閱此答案。
因此,這里是基于CIM cmdlet的解決方案:
- 要將所有命名空間嵌套在另一個命名空間中,例如
root:
Get-CimInstance -Class __Namespace -Namespace root | ForEach-Object Name
- 要獲取給定命名空間內的所有類,例如
root,按名稱(Sort-Object如果需要字母表,請使用管道:
Get-CimClass -Namespace root | ForEach-Object CimClassName
筆記:
附加
| Sort-Object到上面的命令以獲得按字母順序排序的輸出。默認命名空間(也適用于 WMI cmdlet)是,
root/cimv2如果省略-Namespace引數則適用。
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/521956.html
標籤:电源外壳
