Invoke-CimMethod

CIM クラスのメソッドを呼び出します。

構文

Invoke-CimMethod
      [-ClassName] <String>
      [-ComputerName <String[]>]
      [[-Arguments] <IDictionary>]
      [-MethodName] <String>
      [-Namespace <String>]
      [-OperationTimeoutSec <UInt32>]
      [-WhatIf]
      [-Confirm]
      [<CommonParameters>]
Invoke-CimMethod
      [-ClassName] <String>
      -CimSession <CimSession[]>
      [[-Arguments] <IDictionary>]
      [-MethodName] <String>
      [-Namespace <String>]
      [-OperationTimeoutSec <UInt32>]
      [-WhatIf]
      [-Confirm]
      [<CommonParameters>]
Invoke-CimMethod
      -ResourceUri <Uri>
      [-ComputerName <String[]>]
      [[-Arguments] <IDictionary>]
      [-MethodName] <String>
      [-Namespace <String>]
      [-OperationTimeoutSec <UInt32>]
      [-WhatIf]
      [-Confirm]
      [<CommonParameters>]
Invoke-CimMethod
      [-ResourceUri <Uri>]
      [-InputObject] <CimInstance>
      -CimSession <CimSession[]>
      [[-Arguments] <IDictionary>]
      [-MethodName] <String>
      [-OperationTimeoutSec <UInt32>]
      [-WhatIf]
      [-Confirm]
      [<CommonParameters>]
Invoke-CimMethod
      [-ResourceUri <Uri>]
      [-InputObject] <CimInstance>
      [-ComputerName <String[]>]
      [[-Arguments] <IDictionary>]
      [-MethodName] <String>
      [-OperationTimeoutSec <UInt32>]
      [-WhatIf]
      [-Confirm]
      [<CommonParameters>]
Invoke-CimMethod
      -ResourceUri <Uri>
      -CimSession <CimSession[]>
      [[-Arguments] <IDictionary>]
      [-MethodName] <String>
      [-Namespace <String>]
      [-OperationTimeoutSec <UInt32>]
      [-WhatIf]
      [-Confirm]
      [<CommonParameters>]
Invoke-CimMethod
      [-CimClass] <CimClass>
      [-ComputerName <String[]>]
      [[-Arguments] <IDictionary>]
      [-MethodName] <String>
      [-OperationTimeoutSec <UInt32>]
      [-WhatIf]
      [-Confirm]
      [<CommonParameters>]
Invoke-CimMethod
      [-CimClass] <CimClass>
      -CimSession <CimSession[]>
      [[-Arguments] <IDictionary>]
      [-MethodName] <String>
      [-OperationTimeoutSec <UInt32>]
      [-WhatIf]
      [-Confirm]
      [<CommonParameters>]
Invoke-CimMethod
      -Query <String>
      [-QueryDialect <String>]
      [-ComputerName <String[]>]
      [[-Arguments] <IDictionary>]
      [-MethodName] <String>
      [-Namespace <String>]
      [-OperationTimeoutSec <UInt32>]
      [-WhatIf]
      [-Confirm]
      [<CommonParameters>]
Invoke-CimMethod
      -Query <String>
      [-QueryDialect <String>]
      -CimSession <CimSession[]>
      [[-Arguments] <IDictionary>]
      [-MethodName] <String>
      [-Namespace <String>]
      [-OperationTimeoutSec <UInt32>]
      [-WhatIf]
      [-Confirm]
      [<CommonParameters>]

説明

このコマンドレットは、Windows プラットフォームでのみ使用できます。

このコマンドレットはInvoke-CimMethod、Arguments パラメーターで指定された名前と値のペアを使用して、CIM クラスまたは CIM インスタンスのメソッドを呼び出します。

InputObject パラメーターが指定されていない場合、コマンドレットは次のいずれかの方法で動作します。

  • ComputerName パラメーターも CimSession パラメーターも指定されていない場合、このコマンドレットはコンポーネント オブジェクト モデル (COM) セッションを使用してローカル Windows Management Instrumentation (WMI) で動作します。
  • ComputerName パラメーターまたは CimSession パラメーターが指定されている場合、このコマンドレットは ComputerName パラメーターまたは CimSession パラメーターで指定された CIM サーバーに対して動作します。

InputObject パラメーターが指定されている場合、コマンドレットは次のいずれかの方法で動作します。

  • ComputerName パラメーターも CimSession パラメーターも指定されていない場合、このコマンドレットは入力オブジェクトの CIM セッションまたはコンピューター名を使用します。
  • ComputerName パラメーターまたは CimSession パラメーターが指定されている場合、このコマンドレットは CimSession パラメーター値または ComputerName パラメーター値を使用します。 これは一般的なシナリオではありません。

例 1: メソッドを呼び出す

この例では、Win32_Process クラスの Terminate メソッドを呼び出します。

Invoke-CimMethod -Query 'select * from Win32_Process where name like "notepad%"' -MethodName "Terminate"

例 2: CIM インスタンス オブジェクトを使用してメソッドを呼び出す

この例では、CIM インスタンス オブジェクトを取得し、コマンドレットを使用して名前付きの $x 変数に Get-CimInstance 格納します。 その後、変数の内容がコマンドレットの InputObjectInvoke-CimMethod として使用されます。 CimInstance に対して GetOwner メソッドが呼び出されます。

$x = Get-CimInstance -Query 'Select * from Win32_Process where name like "notepad%"'
Invoke-CimMethod -InputObject $x -MethodName GetOwner

例 3: 引数を使用して静的メソッドを呼び出す

この例では、Arguments パラメーターを使用して名前を付けた Create メソッドを呼び出します。

Invoke-CimMethod -ClassName Win32_Process -MethodName "Create" -Arguments @{
  CommandLine = 'notepad.exe'; CurrentDirectory = "C:\windows\system32"
}

例 4: クライアント側の検証

この例では、CimClass オブジェクトInvoke-CimMethod .

$c = Get-CimClass -ClassName Win32_Process
Invoke-CimMethod -CimClass $c -MethodName "xyz" -Arguments @{ CommandLine = 'notepad.exe' }

パラメーター

-Arguments

呼び出したメソッドに渡すパラメーターを指定します。 ハッシュ テーブルに格納されている名前と値のペアとして、このパラメーターの値を指定します。 入力された値の順序は重要ではありません。

Type:IDictionary
Position:1
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-CimClass

サーバー上の CIM クラス定義を表す CIM クラス・オブジェクトを指定します。 クラスの静的メソッドを呼び出す場合は、このパラメーターを使用します。

このコマンドレットを Get-CimClass 使用して、サーバーからクラス定義を取得できます。

このパラメーターを使用すると、クライアント側のスキーマ検証が向上します。

Type:CimClass
Position:0
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:False

-CimSession

指定した CIM セッションを使用してコマンドを実行します。 CIM セッションを含む変数、または CIM セッションを作成または取得するコマンド (コマンドレットGet-CimSessionなど) をNew-CimSession入力します。 詳細については、「about_CimSession」を参照してください

Type:CimSession[]
Position:Named
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:False

-ClassName

操作を実行する CIM クラスの名前を指定します。 このパラメーターは、静的メソッドにのみ使用されます。 PowerShell はローカル WMI サーバーからクラスの一覧を取得してクラス名の一覧を提供するため、タブ補完を使用してクラスの一覧を参照できます。

Type:String
Aliases:Class
Position:0
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:False

-ComputerName

CIM 操作を実行するコンピューターの名前を指定します。 完全修飾 doメイン 名 (FQDN)、NetBIOS 名、または IP アドレスを指定できます。

このパラメーターを使用する場合、コマンドレットは WsMan プロトコルを使用して、指定されたコンピューターへの一時的なセッションを作成します。 それ以外の場合、コマンドレットはコンポーネント オブジェクト モデル (COM) を使用してローカル コンピューターで操作を実行します。

同じコンピューターで複数の操作が実行されている場合のパフォーマンスを向上させるために、CIM セッションを使用して接続します。

Type:String[]
Aliases:CN, ServerName
Position:Named
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-Confirm

コマンドレットの実行前に確認を求めるメッセージが表示されます。

Type:SwitchParameter
Aliases:cf
Position:Named
Default value:False
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-InputObject

メソッドを呼び出す入力として使用する CIM インスタンス オブジェクトを指定します。 このパラメーターは、インスタンス メソッドの呼び出しにのみ使用できます。 クラスの静的メソッドを呼び出すには、Class パラメーターまたは CimClass パラメーターを使用します。

Type:CimInstance
Aliases:CimInstance
Position:0
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:False

-MethodName

呼び出す CIM メソッドの名前を指定します。 このパラメーターは必須です。Null や空にはできません。 CIM クラスの静的メソッドを呼び出すには、ClassName または CimClass パラメーターを使用します。

Type:String
Aliases:Name
Position:2
Default value:None
Required:True
Accept pipeline input:True
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

-Query

CIM サーバーで実行するクエリを指定します。 クエリの結果として受け取ったインスタンスに対してメソッドが呼び出されます。 QueryDialect パラメーターを使用して、クエリ言語を指定できます。

指定された値に二重引用符 ()、単一引用符 (")、または円記号 ('\) が含まれている場合は、それらの文字の前に円記号 (\) 文字を付けてエスケープする必要があります。 指定した値が WQL LIKE 演算子を使用する場合は、次の文字を角かっこ (): パーセント ()、アンダースコア_ ([]%)、または角かっこ ([) で囲んでエスケープする必要があります。

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:WQL
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-ResourceUri

リソース クラスまたはインスタンスのリソース Uniform Resource Identifier (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

-WhatIf

コマンドレットの実行時に発生する内容を示します。 このコマンドレットは実行されません。

Type:SwitchParameter
Aliases:wi
Position:Named
Default value:False
Required:False
Accept pipeline input:False
Accept wildcard characters:False

入力

CimClass

CIM クラスをこのコマンドレットにパイプできます。

CimInstance

CIM インスタンスをこのコマンドレットにパイプできます。

出力

PSCustomObject

このコマンドレットはオブジェクトを返します。

メモ

PowerShell には、次のエイリアスが Invoke-CimMethod含まれています。

  • Windows:
    • icim

このコマンドレットは、Windows プラットフォームでのみ使用できます。