次の方法で共有


Invoke-WmiMethod

Windows Management Instrumentation (WMI) メソッドを呼び出します。

構文

Invoke-WmiMethod [-Class] <string> [[-ArgumentList] <Object[]>] [-Authentication {<Default> | <None> | <Connect> | <Call> | <Packet> | <PacketIntegrity> | <PacketPrivacy> | <Unchanged>}] [-Authority <string>] [-ComputerName <string[]>] [-Credential <PSCredential>] [-EnableAllPrivileges] [-Impersonation {<Default> | <Anonymous> | <Identify> | <Impersonate> | <Delegate>}] [-Locale <string>] [-Namespace <string>] [-Name] <string> [-AsJob] [-ThrottleLimit <int>] [-Confirm] [-WhatIf] [<CommonParameters>]

Invoke-WmiMethod [-Authentication {<Default> | <None> | <Connect> | <Call> | <Packet> | <PacketIntegrity> | <PacketPrivacy> | <Unchanged>}] [-Authority <string>] [-ComputerName <string[]>] [-Credential <PSCredential>] [-EnableAllPrivileges] [-Impersonation {<Default> | <Anonymous> | <Identify> | <Impersonate> | <Delegate>}] [-Locale <string>] [-Namespace <string>] [-Name] <string> [-AsJob] [-ThrottleLimit <int>] [-Confirm] [-WhatIf] [<CommonParameters>]

Invoke-WmiMethod -InputObject <ManagementObject> [-ArgumentList <Object[]>] [-Name] <string> [-AsJob] [-ThrottleLimit <int>] [-Confirm] [-WhatIf] [<CommonParameters>]

Invoke-WmiMethod -Path <string> [-ArgumentList <Object[]>] [-Authentication {<Default> | <None> | <Connect> | <Call> | <Packet> | <PacketIntegrity> | <PacketPrivacy> | <Unchanged>}] [-Authority <string>] [-ComputerName <string[]>] [-Credential <PSCredential>] [-EnableAllPrivileges] [-Impersonation {<Default> | <Anonymous> | <Identify> | <Impersonate> | <Delegate>}] [-Locale <string>] [-Namespace <string>] [-Name] <string> [-AsJob] [-ThrottleLimit <int>] [-Confirm] [-WhatIf] [<CommonParameters>]

Invoke-WmiMethod [-Authentication {<Default> | <None> | <Connect> | <Call> | <Packet> | <PacketIntegrity> | <PacketPrivacy> | <Unchanged>}] [-Authority <string>] [-ComputerName <string[]>] [-Credential <PSCredential>] [-EnableAllPrivileges] [-Impersonation {<Default> | <Anonymous> | <Identify> | <Impersonate> | <Delegate>}] [-Locale <string>] [-Namespace <string>] [-Name] <string> [-AsJob] [-ThrottleLimit <int>] [-Confirm] [-WhatIf] [<CommonParameters>]

Invoke-WmiMethod [-Authentication {<Default> | <None> | <Connect> | <Call> | <Packet> | <PacketIntegrity> | <PacketPrivacy> | <Unchanged>}] [-Authority <string>] [-ComputerName <string[]>] [-Credential <PSCredential>] [-EnableAllPrivileges] [-Impersonation {<Default> | <Anonymous> | <Identify> | <Impersonate> | <Delegate>}] [-Locale <string>] [-Namespace <string>] [-Name] <string> [-AsJob] [-ThrottleLimit <int>] [-Confirm] [-WhatIf] [<CommonParameters>]

説明

Invoke-WmiMethod コマンドレットは WMI メソッドを呼び出します。

パラメーター

-ArgumentList <Object[]>

呼び出したメソッドに渡すパラメーターを指定します。このパラメーターの値はオブジェクトの配列であり、オブジェクトは呼び出したメソッドが要求する順序で表示する必要があります。

重要: 2 番目の値である $null は必須です。これを指定しないと、"型 'System.Byte' のオブジェクトを型 'System.Array' にキャストできません" などのエラーがコマンドで生成されます。

null 値 ($null) を指定したオブジェクトの配列 ($binSD) の使用例を次に示します。

PS C:\> $acl = Get-Acl test.txt

PS C:\> $binSD = $acl.GetSecurityDescriptorBinaryForm()

PS C:\> invoke-wmimethod -class Win32_SecurityDescriptorHelper -Name BinarySDToSDDL -argumentlist $binSD, $null

必須

false

位置

named

既定値

パイプライン入力を許可する

false

ワイルドカード文字を許可する

false

-AsJob

バックグラウンド ジョブとしてコマンドを実行します。完了に時間のかかるコマンドを実行するには、このパラメーターを使用します。

AsJob パラメーターを使用すると、バックグラウンド ジョブを表すオブジェクトが返され、その後コマンド プロンプトが表示されます。ジョブが完了しても、引き続きセッションで作業できます。Invoke-WmiMethod がリモート コンピューターに対して使用された場合、ジョブはローカル コンピューターで作成され、リモート コンピューターでの結果は自動的にローカル コンピューターに返されます。ジョブを管理するには、Job という名詞を含むコマンドレット (Job コマンドレット) を使用します。ジョブの結果を取得するには、Receive-Job コマンドレットを使用します。

注: このパラメーターをリモート コンピューターで使用するには、ローカル コンピューターおよびリモート コンピューターをリモート処理用に構成する必要があります。さらに、Windows Vista 以降のバージョンの Windows では、[管理者として実行] を使用して Windows PowerShell を起動する必要があります。詳細については、「about_Remote_Requirements」を参照してください。

Windows PowerShell のバックグラウンド ジョブの詳細については、「about_Jobs」および「about_Remote_Jobs」を参照してください。

必須

false

位置

named

既定値

パイプライン入力を許可する

false

ワイルドカード文字を許可する

false

-Authentication <AuthenticationLevel>

WMI 接続に使用する認証レベルを指定します。有効な値は次のとおりです。

-1: Unchanged

0: Default

1: None (認証は行われません)

2: Connect (認証は、クライアントとアプリケーションの関係が確立されるときのみ実行されます)

3: Call (認証は、アプリケーションが要求を受信するときに各呼び出しの始めにだけ実行されます)

4: Packet (認証はクライアントから受信されるすべてのデータで実行されます)

5: PacketIntegrity (クライアントとアプリケーション間で転送されるすべてのデータが認証され、確認されます)

6: PacketPrivacy (他の認証レベルのプロパティが使用され、すべてのデータが暗号化されます)

必須

false

位置

named

既定値

パイプライン入力を許可する

false

ワイルドカード文字を許可する

false

-Authority <string>

WMI 接続の認証に使用する機関を指定します。標準の NTLM 認証または Kerberos 認証を指定できます。NTLM を使用するには、認証設定に "ntlmdomain:<DomainName>" と指定します。<DomainName> には、有効な NTLM ドメイン名を指定します。Kerberos を使用するには、"kerberos:<DomainName\ServerName>" と指定します。ローカル コンピューターへの接続時に認証設定を指定することもできます。

必須

false

位置

named

既定値

パイプライン入力を許可する

false

ワイルドカード文字を許可する

false

-Class <string>

静的な呼び出しメソッドが含まれている WMI クラスを指定します。

必須

true

位置

1

既定値

パイプライン入力を許可する

false

ワイルドカード文字を許可する

false

-ComputerName <string[]>

管理操作の実行対象のコンピューターを指定します。値には、完全修飾ドメイン名、NetBIOS 名、またはインターネット プロトコル (IP) アドレスを指定できます。ローカル コンピューター名、localhost、またはドット (.) を使用して、ローカル コンピューターを指定します。既定値はローカル コンピューターです。リモート コンピューターがユーザーとは異なるドメインにある場合、完全修飾ドメイン名が必要です。このパラメーターの値は、パイプを使用して値をパラメーターに渡すことにより設定することもできます。

必須

false

位置

named

既定値

パイプライン入力を許可する

false

ワイルドカード文字を許可する

false

-Credential <PSCredential>

この処理を実行するアクセス許可を持つユーザー アカウントを指定します。既定値は現在のユーザーです。"User01"、"Domain01\User01"、"User@Contoso.com" などユーザー名を入力します。または、Get-Credential コマンドレットで返されるような PSCredential オブジェクトを入力します。ユーザー名を入力すると、パスワードの入力を促すメッセージが表示されます。

必須

false

位置

named

既定値

パイプライン入力を許可する

false

ワイルドカード文字を許可する

false

-EnableAllPrivileges

コマンドが WMI 呼び出しを実行する前に、現在のユーザーのすべての特権が有効になります。

必須

false

位置

named

既定値

パイプライン入力を許可する

false

ワイルドカード文字を許可する

false

-Impersonation <ImpersonationLevel>

使用する偽装レベルを指定します。有効な値は次のとおりです。

0: Default (既定の偽装レベルのローカル レジストリを読み取ります。通常は "3: Impersonate" に設定されます)

1: Anonymous (呼び出し元の資格情報は非表示になります)

2: Identify (オブジェクトによる呼び出し元の資格情報のクエリが許可されます)

3: Impersonate (オブジェクトによる呼び出し元の資格情報の使用が許可されます)

4: Delegate (オブジェクトが呼び出し元の資格情報の使用を他のオブジェクトに許可できるようにします)

必須

false

位置

named

既定値

パイプライン入力を許可する

false

ワイルドカード文字を許可する

false

-InputObject <ManagementObject>

入力として使用する ManagementObject オブジェクトを指定します。このパラメーターを使用する場合、Flag パラメーターと Argument パラメーターを除くすべてのパラメーターが無視されます。

必須

true

位置

named

既定値

パイプライン入力を許可する

true (ByValue)

ワイルドカード文字を許可する

false

-Locale <string>

WMI オブジェクトの優先ロケールを指定します。Locale パラメーターの値は、MS_<LCID> 形式の配列で、優先順に指定します。

必須

false

位置

named

既定値

パイプライン入力を許可する

false

ワイルドカード文字を許可する

false

-Name <string>

呼び出すメソッドの名前を指定します。このパラメーターは必須です。Null や空にはできません。

必須

true

位置

2

既定値

パイプライン入力を許可する

false

ワイルドカード文字を許可する

false

-Namespace <string>

Class パラメーターと共に使用する場合、このパラメーターは、参照先の WMI クラスまたはオブジェクトがある WMI リポジトリ名前空間を指定します。

必須

false

位置

named

既定値

パイプライン入力を許可する

false

ワイルドカード文字を許可する

false

-Path <string>

WMI クラスの WMI オブジェクト パス、または WMI クラスのインスタンスの WMI オブジェクト パスを指定します。指定するクラスまたはインスタンスには、Name パラメーターで指定したメソッドを含める必要があります。

必須

true

位置

named

既定値

パイプライン入力を許可する

false

ワイルドカード文字を許可する

false

-ThrottleLimit <int>

同時に実行できる WMI 操作の数のスロットル値をユーザーが指定できるようにします。このパラメーターは、AsJob パラメーターと共に使用します。スロットル制限は現在のコマンドのみに適用され、セッションまたはコンピューターには適用されません。

必須

false

位置

named

既定値

パイプライン入力を許可する

false

ワイルドカード文字を許可する

false

-Confirm

コマンドを実行する前に確認メッセージを表示します。

必須

false

位置

named

既定値

パイプライン入力を許可する

false

ワイルドカード文字を許可する

false

-WhatIf

実際にコマンドを実行せずに、コマンドを実行すると何が起きるかを出力します。

必須

false

位置

named

既定値

パイプライン入力を許可する

false

ワイルドカード文字を許可する

false

<CommonParameters>

このコマンドレットは、次の共通パラメーターをサポートします: -Verbose、-Debug、-ErrorAction、-ErrorVariable、-OutBuffer、および -OutVariable。詳細については、次を参照してください: about_Commonparameters.

入力と出力

入力値の型は、コマンドレットへのパイプが可能なオブジェクトの型です。戻り値の型は、コマンドレットによって返されるオブジェクトの型です。

入力

なし

このコマンドレットは入力を受け取りません。

出力

なし

このコマンドレットは出力を生成しません。

例 1

C:\PS>invoke-wmimethod -path win32_process -name create -argumentlist notepad.exe

__GENUS          : 2
__CLASS          : __PARAMETERS
__SUPERCLASS     :
__DYNASTY        : __PARAMETERS
__RELPATH        :
__PROPERTY_COUNT : 2
__DERIVATION     : {}
__SERVER         :
__NAMESPACE      :
__PATH           :
ProcessId        : 4844
ReturnValue      : 0

説明
-----------
このコマンドは、Win32_Process クラスの Create メソッドを呼び出すことで、メモ帳のインスタンスを起動します。

注: このコマンドが完了すると、ReturnValue プロパティには 0、ProcessId プロパティには整数 (次のプロセス ID 番号) が設定されます。





例 2

C:\PS>invoke-wmimethod -path "CIM_DataFile.Name='C:\scripts\test.txt'" -Name Rename -ArgumentList "C:\scripts\test_bu.txt"

__GENUS          : 2
__CLASS          : __PARAMETERS
__SUPERCLASS     :
__DYNASTY        : __PARAMETERS
__RELPATH        :
__PROPERTY_COUNT : 1
__DERIVATION     : {}
__SERVER         :
__NAMESPACE      :
__PATH           :
ReturnValue      : 0

説明
-----------
このコマンドは、ファイル名を変更します。Path パラメーターを使用して、CIM_DataFile クラスのインスタンスを参照します。次に、その特定のインスタンスに対して Rename メソッドを適用します。

注: このコマンドが完了すると、ReturnValue プロパティには 0 が設定されます。





関連項目

概念

Get-WmiObject
Remove-WmiObject
Set-WmiInstance
Get-WSManInstance
Invoke-WSManAction
New-WSManInstance
Remove-WSManInstance