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