Get-CimInstance
語法
ClassNameComputerSet (預設值)
Get-CimInstance
[-ClassName] <String>
[-ComputerName <String[]>]
[-KeyOnly]
[-Namespace <String>]
[-OperationTimeoutSec <UInt32>]
[-QueryDialect <String>]
[-Shallow]
[-Filter <String>]
[-Property <String[]>]
[<CommonParameters>]
ResourceUriSessionSet
Get-CimInstance
-CimSession <CimSession[]>
-ResourceUri <Uri>
[-KeyOnly]
[-Namespace <String>]
[-OperationTimeoutSec <UInt32>]
[-Shallow]
[-Filter <String>]
[-Property <String[]>]
[<CommonParameters>]
QuerySessionSet
Get-CimInstance
-CimSession <CimSession[]>
-Query <String>
[-ResourceUri <Uri>]
[-Namespace <String>]
[-OperationTimeoutSec <UInt32>]
[-QueryDialect <String>]
[-Shallow]
[<CommonParameters>]
ClassNameSessionSet
Get-CimInstance
[-ClassName] <String>
-CimSession <CimSession[]>
[-KeyOnly]
[-Namespace <String>]
[-OperationTimeoutSec <UInt32>]
[-QueryDialect <String>]
[-Shallow]
[-Filter <String>]
[-Property <String[]>]
[<CommonParameters>]
CimInstanceSessionSet
Get-CimInstance
[-InputObject] <CimInstance>
-CimSession <CimSession[]>
[-ResourceUri <Uri>]
[-OperationTimeoutSec <UInt32>]
[<CommonParameters>]
CimInstanceComputerSet
Get-CimInstance
[-InputObject] <CimInstance>
[-ResourceUri <Uri>]
[-ComputerName <String[]>]
[-OperationTimeoutSec <UInt32>]
[<CommonParameters>]
ResourceUriComputerSet
Get-CimInstance
-ResourceUri <Uri>
[-ComputerName <String[]>]
[-KeyOnly]
[-Namespace <String>]
[-OperationTimeoutSec <UInt32>]
[-Shallow]
[-Filter <String>]
[-Property <String[]>]
[<CommonParameters>]
QueryComputerSet
Get-CimInstance
-Query <String>
[-ResourceUri <Uri>]
[-ComputerName <String[]>]
[-Namespace <String>]
[-OperationTimeoutSec <UInt32>]
[-QueryDialect <String>]
[-Shallow]
[<CommonParameters>]
Description
此 Cmdlet 只能在 Windows 平臺上使用。
Get-CimInstance Cmdlet 會從 CIM 伺服器取得 類別的 CIM 實例。 您可以指定此 Cmdlet 的類別名稱或查詢。 此 Cmdlet 會傳回一或多個 CIM 實例物件,代表 CIM 伺服器上存在的 CIM 實例快照集。
如果未指定 InputObject 參數,Cmdlet 的運作方式如下:
- 如果未指定 ComputerName 參數或 CimSession 參數,則此 Cmdlet 會使用元件物件模型 (COM) 會話在本機 Windows Management Instrumentation (WMI) 上運作。
- 如果指定 ComputerName 參數或 CimSession 參數,則此 Cmdlet 會針對 ComputerName 參數或 CimSession 參數所指定的 CIM 伺服器運作。
如果指定 InputObject 參數,Cmdlet 會以下列其中一種方式運作:
- 如果未指定 ComputerName 參數或 CimSession 參數,則此 Cmdlet 會使用輸入物件的 CIM 會話或計算機名稱。
- 如果指定 ComputerName 參數或 CimSession 參數,則此 Cmdlet 會使用 CimSession 參數值或 ComputerName 參數值。
範例
範例 1:取得指定類別的 CIM 實例
此範例會擷取名為 Win32_Process類別的 CIM 實例。
Get-CimInstance -ClassName Win32_Process
範例 2:從 WMI 伺服器取得命名空間清單
此範例會擷取 WMI 伺服器上 Root 命名空間底下的命名空間清單。
Get-CimInstance -Namespace root -ClassName __Namespace
範例 3:使用查詢來取得篩選的類別實例
此範例會使用 Query 參數所指定的查詢,擷取以名為 Win32_Process 之類別的字母 P 開頭的所有 CIM 實例。
Get-CimInstance -Query "SELECT * from Win32_Process WHERE name LIKE 'P%'"
範例 4:使用類別名稱和篩選表達式來獲取類別的實例
此範例會使用 Filter 參數,擷取以名為 Win32_Process 之類別的字母 P 開頭的所有 CIM 實例。
Get-CimInstance -ClassName Win32_Process -Filter "Name like 'P%'"
範例 5:取得只填入主要屬性的 CIM 實例
本範例會在記憶體中為名為 Win32_Process 且索引鍵屬性 @{ "Handle"=0 } 的類別建立新的 CIM 實例,並將它儲存在名為 $x的變數中。 變數會以 CIM 實例的形式傳遞至 Get-CimInstance Cmdlet,以取得特定實例。
$x = New-CimInstance -ClassName Win32_Process -Namespace root\cimv2 -Property @{ "Handle"=0 } -Key Handle -ClientOnly
Get-CimInstance -CimInstance $x
範例 6:擷取 CIM 實例並重複使用
此範例會取得名為 Win32_Process 類別的 CIM 實例,並將其儲存在變數 $x 和 $y中。 變數 $x 接著會格式化為只包含 Name 和 KernelModeTime 屬性的數據表,數據表會設定為 AutoSize。
$x,$y = Get-CimInstance -ClassName Win32_Process
$x | Format-Table -Property Name,KernelModeTime -AutoSize
Name KernelModeTime
---- --------------
System Idle Process 157238797968750
範例 7:從遠端電腦取得 CIM 實例
這個範例會從名為 Server01 和 Server02的遠端電腦中,檢索一個名為 Win32_ComputerSystem 的類別的 CIM 實例。
Get-CimInstance -ClassName Win32_ComputerSystem -ComputerName Server01,Server02
範例 8:只取得關鍵屬性,而不是所有屬性
這個範例只會擷取關鍵屬性,從而減少物件的大小和網路流量。
$x = Get-CimInstance -Class Win32_Process -KeyOnly
$x | Invoke-CimMethod -MethodName GetOwner
範例 9:只取得屬性的子集,而不是所有屬性
這個範例只會擷取屬性的子集,以減少對象和網路流量的大小。
Get-CimInstance -Class Win32_Process -Property Name,KernelModeTime
$x = Get-CimInstance -Class Win32_Process -Property Name,KernelModeTime
$x | Invoke-CimMethod -MethodName GetOwner
使用 Property 參数擷取的實例可用來執行其他 CIM 作業,例如 Set-CimInstance 或 Invoke-CimMethod。
範例 10:使用 CIM 會話取得 CIM 實例
此範例會在名為 Server01 和 Server02 的電腦上,使用 New-CimSession Cmdlet 建立 CIM 會話,並將會話資訊儲存在名為 $s的變數中。 接著,變數的內容會使用 Get-CimInstance 參數傳遞至 ,以取得名為 Win32_ComputerSystem類別的 CIM 實例。
$s = New-CimSession -ComputerName Server01,Server02
Get-CimInstance -ClassName Win32_ComputerSystem -CimSession $s
參數
-CimSession
指定要用於此 cmdlet 的 CIM 工作階段。 輸入包含 CIM 會話的變數,或是用於建立或取得 CIM 會話的命令,例如 New-CimSession 或 Get-CimSession Cmdlet。 如需詳細資訊,請參閱 about_CimSession。
參數屬性
參數集
ResourceUriSessionSet
| Position: | Named |
| 必要: | True |
| 來自管線的值: | True |
| 來自管線按屬性名稱的值: | False |
| 來自剩餘引數的值: | False |
QuerySessionSet
| Position: | Named |
| 必要: | True |
| 來自管線的值: | True |
| 來自管線按屬性名稱的值: | False |
| 來自剩餘引數的值: | False |
ClassNameSessionSet
| Position: | Named |
| 必要: | True |
| 來自管線的值: | True |
| 來自管線按屬性名稱的值: | False |
| 來自剩餘引數的值: | False |
CimInstanceSessionSet
| Position: | Named |
| 必要: | True |
| 來自管線的值: | True |
| 來自管線按屬性名稱的值: | False |
| 來自剩餘引數的值: | False |
-ClassName
指定要擷取 CIM 實例的 CIM 類別名稱。 您可以利用 Tab 鍵自動完成功能來瀏覽類別清單,因為 PowerShell 會從本機 WMI 伺服器取得類別清單,以提供類別名稱清單。
參數屬性
| 類型: | String
|
| 預設值: | None |
| 支援萬用字元: | False |
| 不要顯示: | False |
參數集
ClassNameComputerSet
| Position: | 0 |
| 必要: | True |
| 來自管線的值: | False |
| 來自管線按屬性名稱的值: | True |
| 來自剩餘引數的值: | False |
ClassNameSessionSet
| Position: | 0 |
| 必要: | True |
| 來自管線的值: | False |
| 來自管線按屬性名稱的值: | True |
| 來自剩餘引數的值: | False |
-ComputerName
指定您要執行 CIM 作業的電腦。 您可以指定完全合格的域名(FQDN)、NetBIOS 名稱或 IP 位址。 如果您未指定此參數,Cmdlet 會使用元件物件模型 (COM) 在本機計算機上執行作業。
如果您指定此參數,Cmdlet 會使用 WsMan 通訊協定,為指定的電腦建立暫存會話。
如果在相同電腦上執行多個操作,請使用 CIM 會話進行連線,以提升效能。
參數屬性
| 類型: | String[]
|
| 預設值: | None |
| 支援萬用字元: | False |
| 不要顯示: | False |
| 別名: | 中國, 伺服器名稱 |
參數集
ClassNameComputerSet
| Position: | Named |
| 必要: | False |
| 來自管線的值: | False |
| 來自管線按屬性名稱的值: | True |
| 來自剩餘引數的值: | False |
CimInstanceComputerSet
| Position: | Named |
| 必要: | False |
| 來自管線的值: | False |
| 來自管線按屬性名稱的值: | True |
| 來自剩餘引數的值: | False |
ResourceUriComputerSet
| Position: | Named |
| 必要: | False |
| 來自管線的值: | False |
| 來自管線按屬性名稱的值: | True |
| 來自剩餘引數的值: | False |
QueryComputerSet
| Position: | Named |
| 必要: | False |
| 來自管線的值: | False |
| 來自管線按屬性名稱的值: | True |
| 來自剩餘引數的值: | False |
-Filter
指定作為篩選使用的 where 子句。 在 WQL 或 CQL 查詢語言中指定子句。 請勿在 參數的值中包含 WHERE 關鍵詞。
參數屬性
| 類型: | String
|
| 預設值: | None |
| 支援萬用字元: | False |
| 不要顯示: | False |
參數集
ClassNameComputerSet
| Position: | Named |
| 必要: | False |
| 來自管線的值: | False |
| 來自管線按屬性名稱的值: | True |
| 來自剩餘引數的值: | False |
ResourceUriSessionSet
| Position: | Named |
| 必要: | False |
| 來自管線的值: | False |
| 來自管線按屬性名稱的值: | True |
| 來自剩餘引數的值: | False |
ClassNameSessionSet
| Position: | Named |
| 必要: | False |
| 來自管線的值: | False |
| 來自管線按屬性名稱的值: | True |
| 來自剩餘引數的值: | False |
ResourceUriComputerSet
| Position: | Named |
| 必要: | False |
| 來自管線的值: | False |
| 來自管線按屬性名稱的值: | True |
| 來自剩餘引數的值: | False |
指定要作為輸入的 CIM 實例物件。
如果您已經使用 CIM 實例物件,您可以使用此參數傳遞 CIM 實例物件,以便從 CIM 伺服器取得最新的快照集。 當您將 CIM 實例對象當做輸入傳遞時,Get-CimInstance 使用取得 CIM 作業從伺服器傳回物件,而不是列舉或查詢作業。 使用 get CIM 作業比擷取所有實例更有效率,然後加以篩選。
InputObject 參數不進行集合的列舉操作。 如果傳遞集合,就會拋出錯誤。 使用資料集合時,透過管道傳送輸入以列舉值。
如果 CIM 類別未實作 get 作業,則指定 InputObject 參數會傳回錯誤。
| 類型: | CimInstance
|
| 預設值: | None |
| 支援萬用字元: | False |
| 不要顯示: | False |
| 別名: | CimInstance |
CimInstanceSessionSet
| Position: | 0 |
| 必要: | True |
| 來自管線的值: | True |
| 來自管線按屬性名稱的值: | False |
| 來自剩餘引數的值: | False |
CimInstanceComputerSet
| Position: | 0 |
| 必要: | True |
| 來自管線的值: | True |
| 來自管線按屬性名稱的值: | False |
| 來自剩餘引數的值: | False |
-KeyOnly
表示僅傳回已填入關鍵屬性的物件。 指定 KeyOnly 參數可減少透過網路傳輸的數據量。
使用 KeyOnly 參數,只傳回一小部分的物件,可用於其他作業,例如 Set-CimInstance 或 Get-CimAssociatedInstance Cmdlet。
參數屬性
參數集
ClassNameComputerSet
| Position: | Named |
| 必要: | False |
| 來自管線的值: | False |
| 來自管線按屬性名稱的值: | False |
| 來自剩餘引數的值: | False |
ResourceUriSessionSet
| Position: | Named |
| 必要: | False |
| 來自管線的值: | False |
| 來自管線按屬性名稱的值: | False |
| 來自剩餘引數的值: | False |
ClassNameSessionSet
| Position: | Named |
| 必要: | False |
| 來自管線的值: | False |
| 來自管線按屬性名稱的值: | False |
| 來自剩餘引數的值: | False |
ResourceUriComputerSet
| Position: | Named |
| 必要: | False |
| 來自管線的值: | False |
| 來自管線按屬性名稱的值: | False |
| 來自剩餘引數的值: | False |
-Namespace
指定 CIM 類別的命名空間。
預設命名空間 root/cimv2。 您可以使用標籤補全功能來瀏覽命名空間清單,因為 PowerShell 會從本機 WMI 伺服器獲取命名空間來提供此清單。
參數屬性
| 類型: | String
|
| 預設值: | None |
| 支援萬用字元: | False |
| 不要顯示: | False |
參數集
ClassNameComputerSet
| Position: | Named |
| 必要: | False |
| 來自管線的值: | False |
| 來自管線按屬性名稱的值: | True |
| 來自剩餘引數的值: | False |
ResourceUriSessionSet
| Position: | Named |
| 必要: | False |
| 來自管線的值: | False |
| 來自管線按屬性名稱的值: | True |
| 來自剩餘引數的值: | False |
QuerySessionSet
| Position: | Named |
| 必要: | False |
| 來自管線的值: | False |
| 來自管線按屬性名稱的值: | True |
| 來自剩餘引數的值: | False |
ClassNameSessionSet
| Position: | Named |
| 必要: | False |
| 來自管線的值: | False |
| 來自管線按屬性名稱的值: | True |
| 來自剩餘引數的值: | False |
ResourceUriComputerSet
| Position: | Named |
| 必要: | False |
| 來自管線的值: | False |
| 來自管線按屬性名稱的值: | True |
| 來自剩餘引數的值: | False |
QueryComputerSet
| Position: | Named |
| 必要: | False |
| 來自管線的值: | False |
| 來自管線按屬性名稱的值: | True |
| 來自剩餘引數的值: | False |
-OperationTimeoutSec
指定 Cmdlet 等候電腦回應的時間量。 根據預設,此參數的值是0,這表示 Cmdlet 會使用伺服器的預設逾時值。
如果 OperationTimeoutSec 參數設定為小於 3 分鐘的穩固連線重試逾時,則當網路故障持續時間超過 OperationTimeoutSec 參數的值時,將無法復原,因為伺服器上的操作會在客戶端重新連接之前超時。
參數屬性
| 類型: | UInt32
|
| 預設值: | None |
| 支援萬用字元: | False |
| 不要顯示: | False |
| 別名: | OT |
參數集
(All)
| Position: | Named |
| 必要: | False |
| 來自管線的值: | False |
| 來自管線按屬性名稱的值: | False |
| 來自剩餘引數的值: | False |
-Property
指定要擷取的一組實例屬性。 當您需要減少回傳的物件在記憶體中的大小或透過網路傳輸時,請使用此參數。 傳回的物件也會包含重要屬性,即使您尚未使用 Property 參數列出它們。 類別的其他屬性存在,但這些屬性未被賦值。
參數屬性
| 類型: | String[]
|
| 預設值: | None |
| 支援萬用字元: | False |
| 不要顯示: | False |
| 別名: | SelectProperties |
參數集
ClassNameComputerSet
| Position: | Named |
| 必要: | False |
| 來自管線的值: | False |
| 來自管線按屬性名稱的值: | True |
| 來自剩餘引數的值: | False |
ResourceUriSessionSet
| Position: | Named |
| 必要: | False |
| 來自管線的值: | False |
| 來自管線按屬性名稱的值: | True |
| 來自剩餘引數的值: | False |
ClassNameSessionSet
| Position: | Named |
| 必要: | False |
| 來自管線的值: | False |
| 來自管線按屬性名稱的值: | True |
| 來自剩餘引數的值: | False |
ResourceUriComputerSet
| Position: | Named |
| 必要: | False |
| 來自管線的值: | False |
| 來自管線按屬性名稱的值: | True |
| 來自剩餘引數的值: | False |
-Query
指定要在 CIM 伺服器上執行的查詢。 如果指定的值包含雙引號 "、單引號 '或反斜線 \,您必須在字元前面加上反斜線字元來跳脫這些字元。 如果指定的值使用 WQL LIKE 運算符,則必須將下列字元用方括號 []括起來來進行逸出:百分號 %、底線 _或左方括號 [。
您無法使用元資料查詢來擷取類別或事件查詢的清單。 若要擷取類別清單,請使用 Get-CimClass Cmdlet。 若要擷取事件查詢,請使用 Register-CimIndicationEvent Cmdlet。
您可以使用 QueryDialect 參數來指定查詢方言。
參數屬性
| 類型: | String
|
| 預設值: | None |
| 支援萬用字元: | False |
| 不要顯示: | False |
參數集
QuerySessionSet
| Position: | Named |
| 必要: | True |
| 來自管線的值: | False |
| 來自管線按屬性名稱的值: | True |
| 來自剩餘引數的值: | False |
QueryComputerSet
| Position: | Named |
| 必要: | True |
| 來自管線的值: | False |
| 來自管線按屬性名稱的值: | True |
| 來自剩餘引數的值: | False |
-QueryDialect
指定用於 Query 參數的查詢語言。 此參數可接受的值為:WQL 或 CQL 。 預設值為 WQL。
參數屬性
| 類型: | String
|
| 預設值: | None |
| 支援萬用字元: | False |
| 不要顯示: | False |
參數集
ClassNameComputerSet
| Position: | Named |
| 必要: | False |
| 來自管線的值: | False |
| 來自管線按屬性名稱的值: | True |
| 來自剩餘引數的值: | False |
QuerySessionSet
| Position: | Named |
| 必要: | False |
| 來自管線的值: | False |
| 來自管線按屬性名稱的值: | True |
| 來自剩餘引數的值: | False |
ClassNameSessionSet
| Position: | Named |
| 必要: | False |
| 來自管線的值: | False |
| 來自管線按屬性名稱的值: | True |
| 來自剩餘引數的值: | False |
QueryComputerSet
| Position: | Named |
| 必要: | False |
| 來自管線的值: | False |
| 來自管線按屬性名稱的值: | True |
| 來自剩餘引數的值: | False |
-ResourceUri
指定資源類別或實例的資源統一資源標識碼(URI)。 URI 可用來識別電腦上的特定資源類型,例如磁碟或進程。
URI 包含前置詞和資源的路徑。 例如:
http://schemas.microsoft.com/wbem/wsman/1/wmi/root/cimv2/Win32_LogicalDisk
http://intel.com/wbem/wscim/1/amt-schema/1/AMT_GeneralSettings
根據預設,如果您未指定此參數,則會使用 DMTF 標準資源 URI http://schemas.dmtf.org/wbem/wscim/1/cim-schema/2/,並將類別名稱附加至該參數。
ResourceURI 只能與使用 WSMan 通訊協定建立的 CIM 會話搭配使用,或在指定使用 WSMan 建立 CIM 會話的 ComputerName 參數時使用。 如果您指定此參數而不指定 ComputerName 參數,或指定使用 DCOM 通訊協定建立的 CIM 會話,您將會收到錯誤,因為 DCOM 通訊協定不支援 ResourceURI 參數。
如果同時指定 ResourceUri 參數和 Filter 參數,則會忽略 Filter 參數。
參數屬性
| 類型: | Uri
|
| 預設值: | None |
| 支援萬用字元: | False |
| 不要顯示: | False |
參數集
ResourceUriSessionSet
| Position: | Named |
| 必要: | True |
| 來自管線的值: | False |
| 來自管線按屬性名稱的值: | True |
| 來自剩餘引數的值: | False |
ResourceUriComputerSet
| Position: | Named |
| 必要: | True |
| 來自管線的值: | False |
| 來自管線按屬性名稱的值: | True |
| 來自剩餘引數的值: | False |
QuerySessionSet
| Position: | Named |
| 必要: | False |
| 來自管線的值: | False |
| 來自管線按屬性名稱的值: | True |
| 來自剩餘引數的值: | False |
QueryComputerSet
| Position: | Named |
| 必要: | False |
| 來自管線的值: | False |
| 來自管線按屬性名稱的值: | True |
| 來自剩餘引數的值: | False |
CimInstanceSessionSet
| Position: | Named |
| 必要: | False |
| 來自管線的值: | False |
| 來自管線按屬性名稱的值: | True |
| 來自剩餘引數的值: | False |
CimInstanceComputerSet
| Position: | Named |
| 必要: | False |
| 來自管線的值: | False |
| 來自管線按屬性名稱的值: | True |
| 來自剩餘引數的值: | False |
-Shallow
表示傳回類別的實例,而不包含任何子類別的實例。 根據預設,Cmdlet 會傳回類別及其子類別的實例。
參數屬性
參數集
ClassNameComputerSet
| Position: | Named |
| 必要: | False |
| 來自管線的值: | False |
| 來自管線按屬性名稱的值: | False |
| 來自剩餘引數的值: | False |
ResourceUriSessionSet
| Position: | Named |
| 必要: | False |
| 來自管線的值: | False |
| 來自管線按屬性名稱的值: | False |
| 來自剩餘引數的值: | False |
QuerySessionSet
| Position: | Named |
| 必要: | False |
| 來自管線的值: | False |
| 來自管線按屬性名稱的值: | False |
| 來自剩餘引數的值: | False |
ClassNameSessionSet
| Position: | Named |
| 必要: | False |
| 來自管線的值: | False |
| 來自管線按屬性名稱的值: | False |
| 來自剩餘引數的值: | False |
ResourceUriComputerSet
| Position: | Named |
| 必要: | False |
| 來自管線的值: | False |
| 來自管線按屬性名稱的值: | False |
| 來自剩餘引數的值: | False |
QueryComputerSet
| Position: | Named |
| 必要: | False |
| 來自管線的值: | False |
| 來自管線按屬性名稱的值: | False |
| 來自剩餘引數的值: | False |
CommonParameters
此 Cmdlet 支援一般參數:-Debug、-ErrorAction、-ErrorVariable、-InformationAction、-InformationVariable、-OutBuffer、-OutVariable、-PipelineVariable、-ProgressAction、-Verbose、-WarningAction 和 -WarningVariable。 如需詳細資訊,請參閱 about_CommonParameters。
CIM Instance
此 Cmdlet 接受以 InputObject 參數指定的輸入物件。
輸出
CIM Instance
此 Cmdlet 會傳回一或多個 CIM 實例物件,代表 CIM 伺服器上的 CIM 實例快照集。