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>]
Description
Cmdlet 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的所有實例。
第一個命令會啟動記事本的實例。
第二個命令會使用 Get-WmiObject Cmdlet 來擷取對應至Notepad.exe的Win32_Process實例,然後將它們儲存在變數中 $np
。
第三個命令會將 $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
。
第二個命令會將 $a
變數傳送至 Remove-WMIObject
,以刪除資料夾。
參數
-AsJob
表示此 Cmdlet 會以背景工作的形式執行。 使用此參數來執行需要很長的時間才能完成的命令。
新的 CIM Cmdlet 引進 Windows PowerShell 3.0,會執行與 WMI Cmdlet 相同的工作。 CIM Cmdlet 符合 WS-Management (WSMan) 標準和 Common Information Model (CIM) 標準,讓 Cmdlet 能夠使用相同的技術來管理執行 Windows 操作系統的電腦,以及執行其他操作系統的計算機。 請考慮使用 Remove-CimInstance Cmdlet,而不是使用 Remove-WmiObject
。
當您使用 AsJob 參數時,命令會傳回代表背景工作的物件,然後顯示命令提示字元。 您可以在作業完成時繼續在工作階段中工作。 如果 Remove-WmiObject
對遠端電腦使用,則會在本機計算機上建立作業,而且遠端計算機的結果會自動傳回至本機計算機。 若要管理作業,請使用包含 Job 名詞的 Cmdlet( Job Cmdlet)。 若要取得作業結果,請使用 Receive-Job
Cmdlet。
若要對遠端電腦使用此參數,必須設定本機和遠端計算機進行遠端處理。 使用 [以系統管理員身分執行] 選項啟動 Windows PowerShell。 如需詳細資訊,請參閱 about_Remote_Requirements。
如需 Windows PowerShell 背景工作的詳細資訊,請參閱 about_Jobs 和about_Remote_Jobs。
類型: | SwitchParameter |
Position: | 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 |
Position: | Named |
預設值: | None |
必要: | False |
接受管線輸入: | False |
接受萬用字元: | False |
-Authority
指定要用來驗證 WMI 連線的授權單位。 您可以指定標準 NTLM 或 Kerberos 驗證。 若要使用 NTLM,請將授權單位設定設為 ntlmdomain:<DomainName,其中 <DomainName>> 會識別有效的 NTLM 功能變數名稱。 若要使用 Kerberos,請指定 kerberos:<DomainName>\<ServerName>。 當您連線到本機計算機時,無法包含授權單位設定。
類型: | String |
Position: | Named |
預設值: | None |
必要: | False |
接受管線輸入: | False |
接受萬用字元: | False |
-Class
指定此 Cmdlet 刪除的 WMI 類別名稱。
類型: | String |
Position: | 0 |
預設值: | None |
必要: | True |
接受管線輸入: | False |
接受萬用字元: | False |
-ComputerName
指定此 Cmdlet 執行所在的電腦名稱。 預設是本機電腦。
輸入 NetBIOS 名稱、IP 位址或一或多部電腦的完整功能變數名稱。 若要指定本機計算機,請輸入計算機名稱、點 (.
) 或localhost。
此參數不依賴 Windows PowerShell 遠端處理。 即使您的電腦未設定為執行遠端命令,您也可以使用 ComputerName 參數。
類型: | String[] |
別名: | Cn |
Position: | Named |
預設值: | None |
必要: | False |
接受管線輸入: | False |
接受萬用字元: | False |
-Confirm
執行 Cmdlet 之前先提示您確認。
類型: | SwitchParameter |
別名: | cf |
Position: | Named |
預設值: | False |
必要: | False |
接受管線輸入: | False |
接受萬用字元: | False |
-Credential
指定具有執行此動作許可權的用戶帳戶。 預設為目前使用者。
輸入用戶名稱,例如User01或Domain01\User01,或輸入 PSCredential 物件,例如 Cmdlet 所產生的 Get-Credential
物件。 如果您輸入使用者名稱,此 Cmdlet 會提示您輸入密碼。
類型: | PSCredential |
Position: | Named |
預設值: | None |
必要: | False |
接受管線輸入: | False |
接受萬用字元: | False |
-EnableAllPrivileges
表示此 Cmdlet 會在發出 WMI 呼叫的命令之前,啟用目前使用者的所有許可權。
類型: | SwitchParameter |
Position: | Named |
預設值: | None |
必要: | False |
接受管線輸入: | False |
接受萬用字元: | False |
-Impersonation
指定要使用的模擬層級。 此參數可接受的值為:
0
:預設。 讀取預設模擬層級的本機登錄,通常設定為3:模擬。1
:匿名。 隱藏呼叫端的認證。2
:識別。 允許物件查詢呼叫端的認證。3
:類比。 允許物件使用呼叫端的認證。4
:委託。 允許物件許可其他物件使用呼叫端的認證。
類型: | ImpersonationLevel |
接受的值: | Default, Anonymous, Identify, Impersonate, Delegate |
Position: | Named |
預設值: | None |
必要: | False |
接受管線輸入: | False |
接受萬用字元: | False |
-InputObject
指定要 作為輸入的 ManagementObject 物件。 使用此參數時,會忽略所有其他參數。
類型: | ManagementObject |
Position: | Named |
預設值: | None |
必要: | True |
接受管線輸入: | True |
接受萬用字元: | False |
-Locale
指定 WMI 物件的慣用地區設定。 Locale 參數是以慣用的順序,以 MS_<LCID> 格式指定為數位。
類型: | String |
Position: | Named |
預設值: | None |
必要: | False |
接受管線輸入: | False |
接受萬用字元: | False |
-Namespace
指定當參考的 WMI 類別搭配 Class 參數使用時,所參考 WMI 類別所在的 WMI 存放庫命名空間。
類型: | String |
別名: | NS |
Position: | Named |
預設值: | None |
必要: | False |
接受管線輸入: | False |
接受萬用字元: | False |
-Path
指定 WMI 類別的 WMI 物件路徑,或指定要刪除之 WMI 類別實例的 WMI 物件路徑。
類型: | String |
Position: | Named |
預設值: | None |
必要: | True |
接受管線輸入: | False |
接受萬用字元: | False |
-ThrottleLimit
指定可以建立以執行此命令的並行連線數目上限。 此參數會與 AsJob 參數搭配使用。 節流限制僅適用於目前的命令,不適用於會話或計算機。
類型: | Int32 |
Position: | Named |
預設值: | None |
必要: | False |
接受管線輸入: | False |
接受萬用字元: | False |
-WhatIf
顯示執行 Cmdlet 後會發生的情況。 未執行 Cmdlet。
類型: | SwitchParameter |
別名: | wi |
Position: | Named |
預設值: | False |
必要: | False |
接受管線輸入: | False |
接受萬用字元: | False |
輸入
您可以使用管線將管理物件傳送至此 Cmdlet。
輸出
None, System.Management.Automation.RemotingJob
如果您指定 AsJob 參數,此 Cmdlet 會傳回作業物件。 否則,它不會產生任何輸出。
備註
Windows PowerShell 包含下列的 Remove-WmiObject
別名:
rwmi