Get-CimInstance
CIM サーバーからクラスの CIM インスタンスを取得します。
構文
Get-CimInstance
[-ClassName] <String>
[-ComputerName <String[]>]
[-KeyOnly]
[-Namespace <String>]
[-OperationTimeoutSec <UInt32>]
[-QueryDialect <String>]
[-Shallow]
[-Filter <String>]
[-Property <String[]>]
[<CommonParameters>]
Get-CimInstance
-CimSession <CimSession[]>
-ResourceUri <Uri>
[-KeyOnly]
[-Namespace <String>]
[-OperationTimeoutSec <UInt32>]
[-Shallow]
[-Filter <String>]
[-Property <String[]>]
[<CommonParameters>]
Get-CimInstance
-CimSession <CimSession[]>
[-ResourceUri <Uri>]
[-Namespace <String>]
[-OperationTimeoutSec <UInt32>]
-Query <String>
[-QueryDialect <String>]
[-Shallow]
[<CommonParameters>]
Get-CimInstance
-CimSession <CimSession[]>
[-ClassName] <String>
[-KeyOnly]
[-Namespace <String>]
[-OperationTimeoutSec <UInt32>]
[-QueryDialect <String>]
[-Shallow]
[-Filter <String>]
[-Property <String[]>]
[<CommonParameters>]
Get-CimInstance
-CimSession <CimSession[]>
[-ResourceUri <Uri>]
[-OperationTimeoutSec <UInt32>]
[-InputObject] <CimInstance>
[<CommonParameters>]
Get-CimInstance
[-ResourceUri <Uri>]
[-ComputerName <String[]>]
[-OperationTimeoutSec <UInt32>]
[-InputObject] <CimInstance>
[<CommonParameters>]
Get-CimInstance
-ResourceUri <Uri>
[-ComputerName <String[]>]
[-KeyOnly]
[-Namespace <String>]
[-OperationTimeoutSec <UInt32>]
[-Shallow]
[-Filter <String>]
[-Property <String[]>]
[<CommonParameters>]
Get-CimInstance
[-ResourceUri <Uri>]
[-ComputerName <String[]>]
[-Namespace <String>]
[-OperationTimeoutSec <UInt32>]
-Query <String>
[-QueryDialect <String>]
[-Shallow]
[<CommonParameters>]
説明
このコマンドレットは、Windows プラットフォームでのみ使用できます。
コマンドレットは Get-CimInstance
、CIM サーバーからクラスの CIM インスタンスを取得します。 このコマンドレットには、クラス名またはクエリを指定できます。 このコマンドレットは、CIM サーバー上に存在する CIM インスタンスのスナップショットを表す 1 つ以上の CIM インスタンス オブジェクトを返します。
InputObject パラメーターが指定されていない場合、コマンドレットは次のいずれかの方法で動作します。
- ComputerName パラメーターも CimSession パラメーターも指定されていない場合、このコマンドレットは、コンポーネント オブジェクト モデル (COM) セッションを使用してローカルの Windows Management Instrumentation (WMI) で動作します。
- ComputerName パラメーターまたは CimSession パラメーターが指定されている場合、このコマンドレットは ComputerName パラメーターまたは CimSession パラメーターで指定された CIM サーバーに対して動作します。
InputObject パラメーターが指定されている場合、コマンドレットは次のいずれかの方法で動作します。
- ComputerName パラメーターも CimSession パラメーターも指定されていない場合、このコマンドレットは入力オブジェクトの CIM セッションまたはコンピューター名を使用します。
- ComputerName パラメーターまたは CimSession パラメーターが指定されている場合、このコマンドレットは CimSession パラメーター値または ComputerName パラメーター値のいずれかを使用します。
例
例 1: 指定したクラスの CIM インスタンスを取得する
この例では、Win32_Process という名前のクラスの CIM インスタンス を取得します。
Get-CimInstance -ClassName Win32_Process
例 2: WMI サーバーから名前空間の一覧を取得する
この例では、WMI サーバーの ルート 名前空間の下にある名前空間の一覧を取得します。
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 インスタンスを取得する
この例では、キー プロパティ@{ "Handle"=0 }
を持つ Win32_Process という名前のクラスの新しい CIM インスタンスをメモリに作成し、 という名前$x
の変数に格納します。 変数は、特定のインスタンスを取得するために Get-CimInstance
、CIM インスタンスとしてコマンドレットに渡されます。
$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
に格納します。 その後、Name プロパティとKernelModeTime プロパティ (AutoSize に設定されたテーブル) のみを含むテーブルに変数$x
が書式設定されます。
$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 という名前のコンピューターに CIM セッションを New-CimSession
作成し、 という名前 $s
の変数にセッション情報を格納します。 その後、変数の内容が CimSession パラメーターを使用して にGet-CimInstance
渡され、Win32_ComputerSystemという名前のクラスの CIM インスタンスが取得されます。
$s = New-CimSession -ComputerName Server01,Server02
Get-CimInstance -ClassName Win32_ComputerSystem -CimSession $s
パラメーター
-CimSession
このコマンドレットに使用する CIM セッションを指定します。 CIM セッションを含む変数、または CIM セッションを作成または取得するコマンド (または コマンドレットなど) をNew-CimSession
Get-CimSession
入力します。 詳細については、「 about_CimSession」を参照してください。
Type: | CimSession[] |
Position: | Named |
Default value: | None |
Required: | True |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-ClassName
CIM インスタンスを取得する CIM クラスの名前を指定します。 PowerShell はローカル WMI サーバーからクラスの一覧を取得してクラス名の一覧を提供するため、タブ補完を使用してクラスの一覧を参照できます。
Type: | String |
Position: | 0 |
Default value: | None |
Required: | True |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-ComputerName
CIM 操作を実行するコンピューターを指定します。 完全修飾ドメイン名 (FQDN)、NetBIOS 名、または IP アドレスを指定できます。 このパラメーターを指定しない場合、コマンドレットはコンポーネント オブジェクト モデル (COM) を使用してローカル コンピューターで操作を実行します。
このパラメーターを指定すると、コマンドレットは WsMan プロトコルを使用して、指定したコンピューターへの一時的なセッションを作成します。
同じコンピューターで複数の操作が実行されている場合は、パフォーマンスを向上させるために CIM セッションを使用して接続します。
Type: | String[] |
Aliases: | CN, ServerName |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-Filter
フィルターとして使用する where 句を指定します。 WQL または CQL クエリ言語で 句を指定します。 パラメーターの値にWHERE
キーワード (keyword)を含めないでください。
Type: | String |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-InputObject
入力として使用する CIM インスタンス オブジェクトを指定します。
CIM インスタンス オブジェクトを既に使用している場合は、CIM サーバーから最新のスナップショットを取得するために、このパラメーターを使用して CIM インスタンス オブジェクトを渡すことができます。 CIM インスタンス オブジェクトを入力として渡すと、 Get-CimInstance
列挙操作またはクエリ操作ではなく、CIM 取得操作を使用してサーバーから オブジェクトが返されます。 CIM 取得操作を使用する方が、すべてのインスタンスを取得してフィルター処理するよりも効率的です。
InputObject パラメーターはコレクションを列挙しません。 コレクションが渡されると、エラーがスローされます。 コレクションを操作する場合は、入力をパイプ処理して値を列挙します。
CIM クラスが get 操作を実装していない場合、 InputObject パラメーターを指定するとエラーが返されます。
Type: | CimInstance |
Aliases: | CimInstance |
Position: | 0 |
Default value: | None |
Required: | True |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-KeyOnly
入力されたキー プロパティを持つオブジェクトのみが返されることを示します。 KeyOnly パラメーターを指定すると、ネットワーク経由で転送されるデータの量が減ります。
KeyOnly パラメーターを使用して、オブジェクトのごく一部のみを返します。これは、 や Get-CimAssociatedInstance
コマンドレットなどの他の操作にSet-CimInstance
使用できます。
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Namespace
CIM クラスの名前空間を指定します。
既定の名前空間は root/cimv2 です。 PowerShell はローカル WMI サーバーから名前空間の一覧を取得して名前空間の一覧を提供するため、タブ補完を使用して名前空間の一覧を参照できます。
Type: | String |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-OperationTimeoutSec
コマンドレットがコンピューターからの応答を待機する時間を指定します。 既定では、このパラメーターの値は 0 です。つまり、コマンドレットはサーバーの既定のタイムアウト値を使用します。
OperationTimeoutSec パラメーターが 3 分間の堅牢な接続再試行タイムアウトより小さい値に設定されている場合、サーバー上の操作がタイムアウトしてからクライアントが再接続できるため、OperationTimeoutSec パラメーターの値を超えるネットワーク 障害は回復できません。
Type: | UInt32 |
Aliases: | OT |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Property
取得するインスタンス プロパティのセットを指定します。 メモリ内またはネットワーク経由で返されるオブジェクトのサイズを小さくする必要がある場合は、このパラメーターを使用します。 返されるオブジェクトには、 Property パラメーターを使用してリストされていない場合でも、キー プロパティも含まれます。 クラスの他のプロパティは存在しますが、設定されません。
Type: | String[] |
Aliases: | SelectProperties |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-Query
CIM サーバーで実行するクエリを指定します。 指定した値に二重引用符、単一引用符"
'
、または円記号が含まれている場合は、円記号\
の前に円記号を付けてエスケープする必要があります。 指定した値で WQL LIKE 演算子を使用する場合は、次の文字を角かっこ []
で囲んでエスケープする必要があります: percent %
、アンダースコア _
、または開始角かっこ [
。
メタデータ クエリを使用してクラスの一覧やイベント クエリを取得することはできません。 クラスの一覧を取得するには、 コマンドレットを使用します Get-CimClass
。 イベント クエリを取得するには、 コマンドレットを Register-CimIndicationEvent
使用します。
QueryDialect パラメーターを使用して、クエリ言語を指定できます。
Type: | String |
Position: | Named |
Default value: | None |
Required: | True |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-QueryDialect
Query パラメーターに使用されるクエリ言語を指定します。 このパラメーターに使用できる値は 、WQL または CQL です。 既定値は WQL です。
Type: | String |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-ResourceUri
リソース クラスまたはインスタンスのリソース UNIFORM リソース識別子 (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 パラメーターは無視されます。
Type: | Uri |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-Shallow
子クラスのインスタンスを含めずに、クラスのインスタンスが返されることを示します。 既定では、 コマンドレットは クラスとその子クラスのインスタンスを返します。
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
入力
CIM インスタンス オブジェクトをこのコマンドレットにパイプできます。
出力
このコマンドレットは、CIM サーバー上の CIM インスタンスのスナップショットを表す 1 つ以上の CIM インスタンス オブジェクトを返します。
メモ
PowerShell には、 の次のエイリアスが Get-CimInstance
含まれています。
- Windows の場合:
gcim
このコマンドレットは、Windows プラットフォームでのみ使用できます。