Remove-WmiObject
既存の Windows Management Instrumentation (WMI) クラスのインスタンスを削除します。
構文
Remove-WmiObject
[-Class] <String>
[-AsJob]
[-Impersonation <ImpersonationLevel>]
[-Authentication <AuthenticationLevel>]
[-Locale <String>]
[-EnableAllPrivileges]
[-Authority <String>]
[-Credential <PSCredential>]
[-ThrottleLimit <Int32>]
[-ComputerName <String[]>]
[-Namespace <String>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Remove-WmiObject
-InputObject <ManagementObject>
[-AsJob]
[-ThrottleLimit <Int32>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Remove-WmiObject
-Path <String>
[-AsJob]
[-Impersonation <ImpersonationLevel>]
[-Authentication <AuthenticationLevel>]
[-Locale <String>]
[-EnableAllPrivileges]
[-Authority <String>]
[-Credential <PSCredential>]
[-ThrottleLimit <Int32>]
[-ComputerName <String[]>]
[-Namespace <String>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Remove-WmiObject
[-AsJob]
[-Impersonation <ImpersonationLevel>]
[-Authentication <AuthenticationLevel>]
[-Locale <String>]
[-EnableAllPrivileges]
[-Authority <String>]
[-Credential <PSCredential>]
[-ThrottleLimit <Int32>]
[-ComputerName <String[]>]
[-Namespace <String>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Remove-WmiObject
[-AsJob]
[-Impersonation <ImpersonationLevel>]
[-Authentication <AuthenticationLevel>]
[-Locale <String>]
[-EnableAllPrivileges]
[-Authority <String>]
[-Credential <PSCredential>]
[-ThrottleLimit <Int32>]
[-ComputerName <String[]>]
[-Namespace <String>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Remove-WmiObject
[-AsJob]
[-Impersonation <ImpersonationLevel>]
[-Authentication <AuthenticationLevel>]
[-Locale <String>]
[-EnableAllPrivileges]
[-Authority <String>]
[-Credential <PSCredential>]
[-ThrottleLimit <Int32>]
[-ComputerName <String[]>]
[-Namespace <String>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
説明
Remove-WmiObject コマンドレットは、既存の Windows Management Instrumentation (WMI) クラスのインスタンスを削除します。
例
例 1: Win32 プロセスのすべてのインスタンスを閉じる
PS C:\> notepad
PS C:\> $np = Get-WmiObject -Query "select * from win32_process where name='notepad.exe'"
PS C:\> $np | Remove-WmiObject
次の使用例は、Notepad.exeのすべてのインスタンスを閉じます。
最初のコマンドは、メモ帳のインスタンスを起動します。
2 番目のコマンドでは、Get-WmiObject コマンドレットを使用して、Notepad.exeに対応するWin32_Processのインスタンスを取得し、それらを $np 変数に格納します。
3 番目のコマンドは、$np変数内のオブジェクトを Remove-WmiObject に渡します。このオブジェクトは、Notepad.exeのすべてのインスタンスを削除します。
例 2: フォルダーを削除する
PS C:\> $a = Get-WMIObject -Query "Select * From Win32_Directory Where Name ='C:\\Test'"
PS C:\> $a | Remove-WMIObject
このコマンドは、C:\Test フォルダーを削除します。
最初のコマンドは 、Get-WMIObject を使用して C:\Test フォルダーのクエリを実行し、オブジェクトを $a 変数に格納します。
2 番目のコマンドは、フォルダーを 削除する Remove-WMIObject に$a変数をパイプします。
パラメーター
このコマンドレットがバックグラウンド ジョブとして実行されることを示します。 完了に時間のかかるコマンドを実行するには、このパラメーターを使用します。
Windows PowerShell 3.0 で導入された新しい CIM コマンドレットは、WMI コマンドレットと同じタスクを実行します。 CIM コマンドレットは、WS-Management (WSMan) 標準と共通情報モデル (CIM) 標準に準拠しています。これにより、コマンドレットは同じ手法を使用して、Windows オペレーティング システムを実行するコンピューターとその他のオペレーティング システムを実行しているコンピューターを管理できます。 Remove-WmiObject を使用する代わりに、Remove-CimInstancehttps://go.microsoft.com/fwlink/?LinkId=227964 コマンドレットを使用することを検討してください。
AsJob パラメーターを使用すると、バックグラウンド ジョブを表すオブジェクトが返され、その後コマンド プロンプトが表示されます。 ジョブが完了しても、引き続きセッションで作業できます。 Remove-WmiObject がリモート コンピューターに対して使用された場合、ジョブはローカル コンピューターで作成され、リモート コンピューターでの結果は自動的にローカル コンピューターに返されます。 ジョブを管理するには、ジョブ名詞 ( Job コマンドレット) を含 むコマンドレットを 使用します。 ジョブの結果を取得するには、Receive-Job コマンドレットを使用します。
リモート コンピューターでこのパラメーターを使用するには、リモート処理用にローカル コンピューターとリモート コンピューターを構成する必要があります。 [管理者として実行] オプションを使用してWindows PowerShellを開始します。 詳細については、「about_Remote_Requirements」を参照してください。
バックグラウンド ジョブWindows PowerShell詳細については、「about_Jobsとabout_Remote_Jobs」を参照してください。
| Type: | SwitchParameter |
| Position: | Named |
| Default value: | None |
| Accept pipeline input: | False |
| Accept wildcard characters: | False |
WMI 接続に使用する認証レベルを指定します。 このパラメーターの有効値は、次のとおりです。
- -1: 変更なし。
- 0: Default。
- 1: なし。 認証は実行されません。
- 2: 接続します。 認証は、クライアントがアプリケーションとの関係を確立した場合にのみ実行されます。
- 3: 通話。 認証は、アプリケーションが要求を受信したときに、各呼び出しの開始時にのみ実行されます。
- 4: パケット。 認証は、クライアントから受信したすべてのデータに対して実行されます。
- 5: PacketIntegrity。 クライアントとアプリケーションの間で転送されるすべてのデータが認証され、検証されます。
- 6: PacketPrivacy。 他の認証レベルのプロパティが使用され、すべてのデータが暗号化されます。
| Type: | AuthenticationLevel |
| Accepted values: | Default, None, Connect, Call, Packet, PacketIntegrity, PacketPrivacy, Unchanged |
| Position: | Named |
| Default value: | None |
| Accept pipeline input: | False |
| Accept wildcard characters: | False |
WMI 接続の認証に使用する機関を指定します。 標準の NTLM 認証または Kerberos 認証を指定できます。 NTLM を使用するには、機関設定を ntlmdomain:<DomainName に設定します。DomainName>> は<有効な NTLM ドメイン名を識別します。 Kerberos を使用するには、kerberos:<DomainName>\<ServerName を指定します>。 ローカル コンピューターへの接続時に認証設定を指定することもできます。
| Type: | String |
| Position: | Named |
| Default value: | None |
| Accept pipeline input: | False |
| Accept wildcard characters: | False |
このコマンドレットが削除する WMI クラスの名前を指定します。
| Type: | String |
| Position: | 0 |
| Default value: | None |
| Accept pipeline input: | False |
| Accept wildcard characters: | False |
このコマンドレットを実行するコンピューターの名前を指定します。 既定値はローカル コンピューターです。
1 台または複数のコンピューターの NetBIOS 名、IP アドレス、または完全修飾ドメイン名を入力します。 ローカル コンピューターを指定するには、コンピューター名、ドット (.)、または localhost を入力します。
このパラメーターは、Windows PowerShell リモート処理に依存しません。 コンピューターがリモート コマンドを実行するように構成されていない場合でも、ComputerName パラメーターを使用できます。
| Type: | String[] |
| Aliases: | Cn |
| Position: | Named |
| Default value: | None |
| Accept pipeline input: | False |
| Accept wildcard characters: | False |
コマンドレットの実行前に確認を求めるメッセージが表示されます。
| Type: | SwitchParameter |
| Aliases: | cf |
| Position: | Named |
| Default value: | False |
| Accept pipeline input: | False |
| Accept wildcard characters: | False |
この処理を実行するアクセス許可を持つユーザー アカウントを指定します。 既定値は現在のユーザーです。
User01 や Domain01\User01 などのユーザー名を入力するか、 psCredential オブジェクト (Get-Credential コマンドレットによって生成されたものなど) を入力します。 ユーザー名を入力すると、このコマンドレットによってパスワードの入力が求められます。
| Type: | PSCredential |
| Position: | Named |
| Default value: | None |
| Accept pipeline input: | False |
| Accept wildcard characters: | False |
このコマンドレットは、WMI 呼び出しを行うコマンドの前に、現在のユーザーのすべてのアクセス許可を有効にすることを示します。
| Type: | SwitchParameter |
| Position: | Named |
| Default value: | None |
| Accept pipeline input: | False |
| Accept wildcard characters: | False |
使用する偽装レベルを指定します。 このパラメーターの有効値は、次のとおりです。
- 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 |
| Accept pipeline input: | False |
| Accept wildcard characters: | False |
入力として使用する ManagementObject オブジェクトを指定します。 このパラメーターを使用する場合、他のすべてのパラメーターが無視されます。
| Type: | ManagementObject |
| Position: | Named |
| Default value: | None |
| Accept pipeline input: | True |
| Accept wildcard characters: | False |
WMI オブジェクトの優先ロケールを指定します。 Locale パラメーターは、MS_<LCID> 形式の配列として優先順序で指定されます。
| Type: | String |
| Position: | Named |
| Default value: | None |
| Accept pipeline input: | False |
| Accept wildcard characters: | False |
Class パラメーターと共に使用するときに参照される WMI クラスが配置される WMI リポジトリ名前空間を指定します。
| Type: | String |
| Aliases: | NS |
| Position: | Named |
| Default value: | None |
| Accept pipeline input: | False |
| Accept wildcard characters: | False |
削除する WMI クラスの WMI オブジェクト パス、または WMI クラスのインスタンスの WMI オブジェクト パスを指定します。
| Type: | String |
| Position: | Named |
| Default value: | None |
| Accept pipeline input: | False |
| Accept wildcard characters: | False |
このコマンドを実行するために確立できる最大コンカレント接続数を指定します。 このパラメーターは 、AsJob パラメーターと共に使用されます。 スロットル制限は現在のコマンドのみに適用され、セッションまたはコンピューターには適用されません。
| Type: | Int32 |
| Position: | Named |
| Default value: | None |
| Accept pipeline input: | False |
| Accept wildcard characters: | False |
コマンドレットの実行時に発生する内容を示します。 このコマンドレットは実行されません。
| Type: | SwitchParameter |
| Aliases: | wi |
| Position: | Named |
| Default value: | False |
| Accept pipeline input: | False |
| Accept wildcard characters: | False |
入力
管理オブジェクトをこのコマンドレットにパイプ処理できます。
出力
None, System.Management.Automation.RemotingJob
AsJob パラメーターを指定すると、このコマンドレットはジョブ オブジェクトを返します。 それ以外の場合、出力は生成されません。