類和名稱空間
CIM 和 WMI 中有許多可用的類,它們分成多個名稱空間。Windows 中最常見(和預設)的名稱空間是 root/cimv2
。要查詢 righ 類,列出全部或搜尋可能很有用。
列出可用的類
你可以在計算機上列出預設名稱空間(root/cimv2
)中的所有可用類。
Version >= 3.0
CIM:
Get-CimClass
WMI:
Get-WmiObject -List
搜尋類
你可以使用萬用字元搜尋特定的類。例如:查詢包含單詞 process
的類。
Version >= 3.0
CIM:
> Get-CimClass -ClassName "*Process*"
NameSpace: ROOT/CIMV2
CimClassName CimClassMethods CimClassProperties
------------ --------------- ------------------
Win32_ProcessTrace {} {SECURITY_DESCRIPTOR, TIME_CREATED, ParentProcessID, ProcessID...}
Win32_ProcessStartTrace {} {SECURITY_DESCRIPTOR, TIME_CREATED, ParentProcessID, ProcessID...}
Win32_ProcessStopTrace {} {SECURITY_DESCRIPTOR, TIME_CREATED, ParentProcessID, ProcessID...}
CIM_Process {} {Caption, Description, InstallDate, Name...}
Win32_Process {Create, Terminat... {Caption, Description, InstallDate, Name...}
CIM_Processor {SetPowerState, R... {Caption, Description, InstallDate, Name...}
Win32_Processor {SetPowerState, R... {Caption, Description, InstallDate, Name...}
...
WMI:
Get-WmiObject -List -Class "*Process*"
列出不同名稱空間中的類
根名稱空間簡稱為 root
。你可以使用 -NameSpace
引數列出另一個名稱空間中的類。
Version >= 3.0
CIM:
> Get-CimClass -Namespace "root/SecurityCenter2"
NameSpace: ROOT/SecurityCenter2
CimClassName CimClassMethods CimClassProperties
------------ --------------- ------------------
....
AntiSpywareProduct {} {displayName, instanceGuid, pathToSignedProductExe, pathToSignedReportingE...
AntiVirusProduct {} {displayName, instanceGuid, pathToSignedProductExe, pathToSignedReportingE...
FirewallProduct {} {displayName, instanceGuid, pathToSignedProductExe, pathToSignedReportingE...
WMI:
Get-WmiObject -Class "__Namespace" -Namespace "root"
列出可用的名稱空間
要查詢 root
(或其他名稱空間)的可用子名稱空間,請在 __NAMESPACE
-class 中查詢該名稱空間的物件。
Version >= 3.0
CIM:
> Get-CimInstance -Namespace "root" -ClassName "__Namespace"
Name PSComputerName
---- --------------
subscription
DEFAULT
CIMV2
msdtc
Cli
SECURITY
HyperVCluster
SecurityCenter2
RSOP
PEH
StandardCimv2
WMI
directory
Policy
virtualization
Interop
Hardware
ServiceModel
SecurityCenter
Microsoft
aspnet
Appv
WMI:
Get-WmiObject -List -Namespace "root"