Invoke-WmiMethod
WMI メソッドを呼び出します。
構文
Invoke-WmiMethod
[-Class] <String>
[-Name] <String>
[-ArgumentList <Object[]>]
[-AsJob]
[-Impersonation <ImpersonationLevel>]
[-Authentication <AuthenticationLevel>]
[-Locale <String>]
[-EnableAllPrivileges]
[-Authority <String>]
[-Credential <PSCredential>]
[-ThrottleLimit <Int32>]
[-ComputerName <String[]>]
[-Namespace <String>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Invoke-WmiMethod
-InputObject <ManagementObject>
[-Name] <String>
[-ArgumentList <Object[]>]
[-AsJob]
[-ThrottleLimit <Int32>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Invoke-WmiMethod
-Path <String>
[-Name] <String>
[-ArgumentList <Object[]>]
[-AsJob]
[-Impersonation <ImpersonationLevel>]
[-Authentication <AuthenticationLevel>]
[-Locale <String>]
[-EnableAllPrivileges]
[-Authority <String>]
[-Credential <PSCredential>]
[-ThrottleLimit <Int32>]
[-ComputerName <String[]>]
[-Namespace <String>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Invoke-WmiMethod
[-Name] <String>
[-AsJob]
[-Impersonation <ImpersonationLevel>]
[-Authentication <AuthenticationLevel>]
[-Locale <String>]
[-EnableAllPrivileges]
[-Authority <String>]
[-Credential <PSCredential>]
[-ThrottleLimit <Int32>]
[-ComputerName <String[]>]
[-Namespace <String>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Invoke-WmiMethod
[-Name] <String>
[-AsJob]
[-Impersonation <ImpersonationLevel>]
[-Authentication <AuthenticationLevel>]
[-Locale <String>]
[-EnableAllPrivileges]
[-Authority <String>]
[-Credential <PSCredential>]
[-ThrottleLimit <Int32>]
[-ComputerName <String[]>]
[-Namespace <String>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Invoke-WmiMethod
[-Name] <String>
[-AsJob]
[-Impersonation <ImpersonationLevel>]
[-Authentication <AuthenticationLevel>]
[-Locale <String>]
[-EnableAllPrivileges]
[-Authority <String>]
[-Credential <PSCredential>]
[-ThrottleLimit <Int32>]
[-ComputerName <String[]>]
[-Namespace <String>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
説明
Invoke-WmiMethod コマンドレットは、Windows Management Instrumentation (WMI) オブジェクトのメソッドを呼び出します。
Windows PowerShell 3.0 で導入された新しい共通情報モデル (CIM) コマンドレットは、WMI コマンドレットと同じタスクを実行します。 CIM コマンドレットは、WS-Management (WSMan) 標準と CIM 標準に準拠しています。これにより、コマンドレットは同じ手法を使用して Windows コンピューターとその他のオペレーティング システムを実行しているコンピューターを管理できます。 Invoke-WmiMethod を使用する代わりに、Invoke-CimMethod の使用を検討してくださいhttps://go.microsoft.com/fwlink/?LinkId=227965.
例
例 1: WMI オブジェクトの必要な順序を一覧表示する
PS C:\> ([wmiclass]'Win32_Volume').GetMethodParameters('Format')
__GENUS : 2
__CLASS : __PARAMETERS
__SUPERCLASS :
__DYNASTY : __PARAMETERS
__RELPATH :
__PROPERTY_COUNT : 6
__DERIVATION : {}
__SERVER :
__NAMESPACE :
__PATH :
ClusterSize : 0
EnableCompression : False
FileSystem : NTFS
Label :
QuickFormat : False
Version : 0
PSComputerName :
このコマンドは、必要なオブジェクトの順序を一覧表示します。 PowerShell 3.0 での WMI の呼び出しは他の方法とは異なり、オブジェクト値を特定の順序で入力する必要があります。
例 2: アプリケーションのインスタンスを開始する
PS C:\> ([Wmiclass]'Win32_Process').GetMethodParameters('Create')
__GENUS : 2
__CLASS : __PARAMETERS
__SUPERCLASS :
__DYNASTY : __PARAMETERS
__RELPATH :
__PROPERTY_COUNT : 3
__DERIVATION : {}
__SERVER :
__NAMESPACE :
__PATH :
CommandLine :
CurrentDirectory :
ProcessStartupInformation :
PSComputerName : PS C:\> 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 : 11312
ReturnValue : 0
PSComputerName :
このコマンドは、Win32_Process クラスの Create メソッドを呼び出すことで、メモ帳のインスタンスを起動します。
ReturnValue プロパティには 0 が設定され、コマンドが完了すると ProcessId プロパティに整数 (次のプロセス ID 番号) が設定されます。
例 3: ファイルの名前を変更する
PS C:\> 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 が設定されます。
パラメーター
-ArgumentList
呼び出したメソッドに渡すパラメーターを指定します。 このパラメーターの値は、オブジェクトの配列である必要があり、呼び出されたメソッドで必要な順序で表示される必要があります。 Invoke-CimCommand コマンドレットには、これらの制限はありません。
これらのオブジェクトを配置する順序を指定するには、このトピックの最後の方の例 1 に示すように、WMI クラスの GetMethodParameters() メソッドを実行します。
重要: 最初の値が複数の要素を含む配列である場合は、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
Type: | Object[] |
Aliases: | Args |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-AsJob
このコマンドレットがバックグラウンド ジョブとしてコマンドを実行することを示します。 完了に時間のかかるコマンドを実行するには、このパラメーターを使用します。
AsJob パラメーターを使用すると、バックグラウンド ジョブを表すオブジェクトが返され、その後コマンド プロンプトが表示されます。 ジョブが完了しても、引き続きセッションで作業できます。 Invoke-WmiMethod がリモート コンピューターに対して使用された場合、ジョブはローカル コンピューターで作成され、リモート コンピューターでの結果は自動的にローカル コンピューターに返されます。 ジョブを管理するには、Job という名詞を含むコマンドレット (Job コマンドレット) を使用します。 ジョブの結果を取得するには、Receive-Job コマンドレットを使用します。
このパラメーターをリモート コンピューターで使用するには、ローカル コンピューターおよびリモート コンピューターをリモート処理用に構成する必要があります。 さらに、Windows Vista 以降のバージョンの Windows で [管理者として実行] オプションを使用して、Windows PowerShellを開始する必要があります。 詳細については、「about_Remote_Requirements」を参照してください。
バックグラウンド ジョブのWindows PowerShellの詳細については、「about_Jobsとabout_Remote_Jobs」を参照してください。
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Authentication
WMI 接続に使用する認証レベルを指定します。 このパラメーターの有効値は、次のとおりです。
-1: Unchanged
0: Default
1: None (認証は行われません)
2: Connect (認証は、クライアントとアプリケーションの関係が確立されるときのみ実行されます)
3: Call (認証は、アプリケーションが要求を受信するときに各呼び出しの始めにだけ実行されます)
4: Packet (認証はクライアントから受信されるすべてのデータで実行されます)
5: PacketIntegrity (クライアントとアプリケーションの間で転送されるすべてのデータが認証され、検証されます)。
6: PacketPrivacy (他の認証レベルのプロパティが使用され、すべてのデータが暗号化されます)
Type: | AuthenticationLevel |
Accepted values: | Default, None, Connect, Call, Packet, PacketIntegrity, PacketPrivacy, Unchanged |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Authority
WMI 接続の認証に使用する機関を指定します。 標準Windows NT LAN Manager (NTLM) または Kerberos 認証を指定できます。 NTLM を使用するには、機関設定を ntlmdomain:<DomainName> に設定します。ここで <、DomainName> は有効な NTLM ドメイン名を識別します。 Kerberos を使用するには、kerberos:<DomainName\ServerName を指定します>。 ローカル コンピューターへの接続時に認証設定を指定することもできます。
Type: | String |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Class
静的な呼び出しメソッドが含まれている WMI クラスを指定します。
Type: | String |
Position: | 0 |
Default value: | None |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-ComputerName
このコマンドレットでコマンドを実行するコンピューターを文字列配列として指定します。 既定値はローカル コンピューターです。
1 台または複数のコンピューターの NetBIOS 名、IP アドレス、または完全修飾ドメイン名を入力します。 ローカル コンピューターを指定するには、コンピューター名、ドット (.)、または localhost を入力します。
このパラメーターは、Windows PowerShell リモート処理に依存しません。 コンピューターがリモート コマンドを実行するように構成されていない場合でも、ComputerName パラメーターを使用できます。
Type: | String[] |
Aliases: | Cn |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Confirm
コマンドレットの実行前に確認を求めるメッセージが表示されます。
Type: | SwitchParameter |
Aliases: | cf |
Position: | Named |
Default value: | False |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Credential
この処理を実行するアクセス許可を持つユーザー アカウントを指定します。 既定値は現在のユーザーです。 User01、Domain01\User01、など、ユーザー名を入力します User@Contoso.com。 または、Get-Credential コマンドレットによって返されるオブジェクトなどの PSCredential オブジェクトを入力します。 ユーザー名を入力すると、パスワードの入力を促すメッセージが表示されます。
Type: | PSCredential |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-EnableAllPrivileges
コマンドが WMI 呼び出しを行う前に、このコマンドレットが現在のユーザーのすべての特権を有効にすることを示します。
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Impersonation
使用する偽装レベルを指定します。 このパラメーターの有効値は、次のとおりです。
0: Default (既定の偽装レベルのローカル レジストリを読み取ります。通常は "3: Impersonate" に設定されます)
1: Anonymous (呼び出し元の資格情報は非表示になります)
2: Identify (オブジェクトによる呼び出し元の資格情報のクエリが許可されます)
3: Impersonate (オブジェクトによる呼び出し元の資格情報の使用が許可されます)
4: Delegate (オブジェクトが呼び出し元の資格情報の使用を他のオブジェクトに許可できるようにします)
Type: | ImpersonationLevel |
Accepted values: | Default, Anonymous, Identify, Impersonate, Delegate |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-InputObject
入力として使用する ManagementObject オブジェクトを指定します。 このパラメーターを使用すると、 Flag パラメーターと Argument パラメーターを除く他のすべてのパラメーターは無視されます。
Type: | ManagementObject |
Position: | Named |
Default value: | None |
Required: | True |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-Locale
WMI オブジェクトの優先ロケールを指定します。 Locale パラメーターの値を、MS_<LCID> 形式の配列として優先順序で指定します。
Type: | String |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Name
呼び出すメソッドの名前を指定します。 このパラメーターは必須です。Null や空にはできません。
Type: | String |
Position: | 1 |
Default value: | None |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Namespace
Class パラメーターと共に使用する場合、このパラメーターは、参照される WMI クラスまたはオブジェクトが配置されている WMI リポジトリ名前空間を指定します。
Type: | String |
Aliases: | NS |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Path
WMI クラスの WMI オブジェクト パス、または WMI クラスのインスタンスの WMI オブジェクト パスを指定します。 指定するクラスまたはインスタンスには、 Name パラメーターで指定されたメソッドが含まれている必要があります。
Type: | String |
Position: | Named |
Default value: | None |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-ThrottleLimit
同時に実行できる WMI 操作の数のスロットル値を指定します。 このパラメーターは、 AsJob パラメーターと共に使用されます。 スロットル制限は現在のコマンドのみに適用され、セッションまたはコンピューターには適用されません。
Type: | Int32 |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-WhatIf
コマンドレットの実行時に発生する内容を示します。 このコマンドレットは実行されません。
Type: | SwitchParameter |
Aliases: | wi |
Position: | Named |
Default value: | False |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
入力
None
このコマンドレットは入力を受け取りません。
出力
None
このコマンドレットは出力を生成しません。