Remove-WmiObject
既存の Windows Management Instrumentation (WMI) クラスのインスタンスを削除します。
構文
Remove-WmiObject [-Class] <string> [-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>] [-AsJob] [-ThrottleLimit <int>] [-Confirm] [-WhatIf] [<CommonParameters>]
Remove-WmiObject [-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>] [-AsJob] [-ThrottleLimit <int>] [-Confirm] [-WhatIf] [<CommonParameters>]
Remove-WmiObject -InputObject <ManagementObject> [-AsJob] [-ThrottleLimit <int>] [-Confirm] [-WhatIf] [<CommonParameters>]
Remove-WmiObject -Path <string> [-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>] [-AsJob] [-ThrottleLimit <int>] [-Confirm] [-WhatIf] [<CommonParameters>]
Remove-WmiObject [-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>] [-AsJob] [-ThrottleLimit <int>] [-Confirm] [-WhatIf] [<CommonParameters>]
Remove-WmiObject [-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>] [-AsJob] [-ThrottleLimit <int>] [-Confirm] [-WhatIf] [<CommonParameters>]
説明
Remove-WmiObject コマンドレットは、既存の WMI クラスのインスタンスを削除します。
パラメーター
-AsJob
バックグラウンド ジョブとしてコマンドを実行します。完了に時間のかかるコマンドを実行するには、このパラメーターを使用します。
バックグラウンド ジョブとしてコマンドを実行します。完了に時間のかかるコマンドを実行するには、このパラメーターを使用します。
AsJob パラメーターを使用すると、バックグラウンド ジョブを表すオブジェクトが返され、その後コマンド プロンプトが表示されます。ジョブが完了しても、引き続きセッションで作業できます。Remove-WmiObject がリモート コンピューターに対して使用された場合、ジョブはローカル コンピューターで作成され、リモート コンピューターでの結果は自動的にローカル コンピューターに返されます。ジョブを管理するには、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、またはドット (.) を使用して、ローカル コンピューターを指定します。既定値はローカル コンピューターです。リモート コンピューターがユーザーとは異なるドメインにある場合、完全修飾ドメイン名を使用する必要があります。このパラメーターの値は、パイプを使用して値をパラメーターに渡すことにより設定できます。
このパラメーターは、WS-Management を使用する Windows PowerShell リモート処理に依存しません。コンピューターが WS-Management リモート コマンドを実行するように構成されていない場合でも、Get-WmiObject の ComputerName パラメーターを使用できます。
必須 |
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 オブジェクトを指定します。このパラメーターを使用する場合、他のすべてのパラメーターが無視されます。
必須 |
true |
位置 |
named |
既定値 |
|
パイプライン入力を許可する |
true (ByValue) |
ワイルドカード文字を許可する |
false |
-Locale <string>
WMI オブジェクトの優先ロケールを指定します。Locale パラメーターは、MS_<LCID> 形式の配列で、優先順に指定します。
必須 |
false |
位置 |
named |
既定値 |
|
パイプライン入力を許可する |
false |
ワイルドカード文字を許可する |
false |
-Namespace <string>
Class パラメーターと共に使用する場合、このパラメーターは、参照先の WMI クラスがある WMI リポジトリ名前空間を指定します。
必須 |
false |
位置 |
named |
既定値 |
|
パイプライン入力を許可する |
false |
ワイルドカード文字を許可する |
false |
-Path <string>
削除する WMI クラスの WMI オブジェクト パス、または WMI クラスのインスタンスの WMI オブジェクト パスを指定します。
必須 |
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.
入力と出力
入力値の型は、コマンドレットへのパイプが可能なオブジェクトの型です。戻り値の型は、コマンドレットによって返されるオブジェクトの型です。
入力 |
System.Management.ManagementObject パイプを使用して管理オブジェクトを Remove-WmiObject に渡すことができます。 |
出力 |
なし、または System.Management.Automation.RemotingJob AsJob パラメーターを使用すると、このコマンドレットはジョブ オブジェクトを返します。それ以外の場合、出力は生成されません。 |
例 1
C:\PS>notepad
C:\PS> $np = get-wmiobject -query "select * from win32_process where name='notepad.exe'"
C:\PS> $np | remove-wmiobject
説明
-----------
このコマンドを実行すると、Notepad.exe インスタンスがすべて終了します。
最初のコマンドは、メモ帳のインスタンスを起動します。
2 番目のコマンドは、Get-WmiObject コマンドレットを使用して Notepad.exe に対応する Win32_Process のインスタンスを取得し、それらを $np という変数に保存します。
3 番目のコマンドは、$np 変数内のオブジェクトを Remove-WmiObject コマンドレットに渡し、これにより Notepad.exe のすべてのインスタンスが削除されます。
例 2
C:\PS>$a = Get-WMIObject -query "Select * From Win32_Directory Where Name ='C:\\Test'"
C:\PS> $a | Remove-WMIObject
説明
-----------
このコマンドは、C:\Test ディレクトリを削除します。
最初のコマンドは、Get-WMIObject コマンドレットを使用して C:\Test ディレクトリを照会し、取得したオブジェクトを $a 変数に保存します。
2 番目のコマンドは、パイプ処理で $a 変数を Remove-WMIObject に渡し、このコマンドレットによってディレクトリが削除されます。
関連項目
概念
Get-WmiObject
Invoke-WmiMethod
Set-WmiInstance
Get-WSManInstance
Invoke-WSManAction
New-WSManInstance
Remove-WSManInstance