Remove-WmiObject

刪除現有 Windows Management Instrumentation (WMI) 類別的執行個體。

Syntax

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 會以背景工作的形式執行。 使用此參數執行需要很長時間才能完成的命令。

已導入 Windows PowerShell 3.0 的新 CIM Cmdlet 可執行與 WMI Cmdlet 相同的工作。 CIM Cmdlet 符合 WS-Management (WSMan) 標準,以及 Common Information Model (CIM) 標準,讓 Cmdlet 能夠使用相同的技術來管理執行 Windows 作業系統的電腦,以及執行其他作業系統的電腦。 請考慮使用 Remove-WmiObject Remove-CimInstance Cmdlet,而不是使用 。

使用 AsJob 參數時,此命令會傳回代表背景工作的物件,然後顯示命令提示字元。 工作完成後,您可以繼續在工作階段中工作。 如果 Remove-WmiObject 用於遠端電腦,則會在本機電腦上建立作業,而且遠端電腦的結果會自動傳回至本機電腦。 若要管理作業,請使用包含 Job 名詞的 Cmdlet (Job Cmdlet) 。 若要取得作業結果,請使用 Receive-Job Cmdlet。

若要將此參數用於遠端電腦,必須設定本機和遠端電腦以進行遠端處理。 使用 [以系統管理員身分執行] 選項啟動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

-Authentication

指定用於 WMI 連線的驗證層級。 此參數可接受的值為:

  • -1:未變更。
  • 0:預設。
  • 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

-Authority

指定用來驗證 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

-Class

指定這個 Cmdlet 刪除的 WMI 類別名稱。

Type:String
Position:0
Default value:None
Accept pipeline input:False
Accept wildcard characters:False

-ComputerName

指定執行這個 Cmdlet 的電腦名稱稱。 預設是本機電腦。

請輸入一部或多部電腦的 NetBIOS 名稱、IP 位址或完整網域名稱。 若要指定本機電腦,請輸入電腦名稱稱、點 () . 或 localhost。

此參數不必依賴 Windows PowerShell 遠端功能。 即使您的電腦未設定為執行遠端命令,您仍然可以使用 ComputerName 參數。

Type:String[]
Aliases:Cn
Position:Named
Default value:None
Accept pipeline input:False
Accept wildcard characters:False

-Confirm

在執行 Cmdlet 前提示您確認。

Type:SwitchParameter
Aliases:cf
Position:Named
Default value:False
Accept pipeline input:False
Accept wildcard characters:False

-Credential

指定具有執行此動作權限的使用者帳戶。 預設為目前使用者。

輸入使用者名稱,例如 User01 或 Domain01\User01,或輸入 PSCredential 物件,例如 Cmdlet 所產生的 Get-Credential 物件。 如果您輸入使用者名稱,此 Cmdlet 會提示您輸入密碼。

Type:PSCredential
Position:Named
Default value:None
Accept pipeline input:False
Accept wildcard characters:False

-EnableAllPrivileges

表示此 Cmdlet 會在發出 WMI 呼叫的命令之前,啟用目前使用者的擁有權限。

Type:SwitchParameter
Position:Named
Default value:None
Accept pipeline input:False
Accept wildcard characters:False

-Impersonation

指定要使用的模擬等級。 此參數可接受的值為:

  • 0:預設。 讀取預設模擬層級的本機登錄,通常設定為 3:模擬。
  • 1:匿名。 隱藏呼叫端的認證。
  • 2:識別。 允許物件查詢呼叫端的認證。
  • 3:模擬。 允許物件使用呼叫端的認證。
  • 4:委派。 允許物件許可其他物件使用呼叫端的認證。
Type:ImpersonationLevel
Accepted values:Default, Anonymous, Identify, Impersonate, Delegate
Position:Named
Default value:None
Accept pipeline input:False
Accept wildcard characters:False

-InputObject

指定要作為輸入的 ManagementObject 物件。 使用這個參數時,將會忽略所有其他參數。

Type:ManagementObject
Position:Named
Default value:None
Accept pipeline input:True
Accept wildcard characters:False

-Locale

指定 WMI 物件的慣用地區設定。 Locale參數會以慣用的順序,以MS_ < LCID > 格式指定為數組。

Type:String
Position:Named
Default value:None
Accept pipeline input:False
Accept wildcard characters:False

-Namespace

指定當參考 WMI 類別搭配 Class 參數使用時,所參考 WMI 類別所在的 WMI 存放庫命名空間。

Type:String
Aliases:NS
Position:Named
Default value:None
Accept pipeline input:False
Accept wildcard characters:False

-Path

指定 WMI 類別的 WMI 物件路徑,或指定要刪除之 WMI 類別執行個體的 WMI 物件路徑。

Type:String
Position:Named
Default value:None
Accept pipeline input:False
Accept wildcard characters:False

-ThrottleLimit

指定為執行此命令可建立的最大同時連線數。 此參數會與 AsJob 參數搭配使用。 節流限制僅適用於目前命令,不適用於工作階段或電腦。

Type:Int32
Position:Named
Default value:None
Accept pipeline input:False
Accept wildcard characters:False

-WhatIf

顯示執行 Cmdlet 後會發生的情況。 Cmdlet 並不會執行。

Type:SwitchParameter
Aliases:wi
Position:Named
Default value:False
Accept pipeline input:False
Accept wildcard characters:False

輸入

ManagementObject

您可以使用管線將管理物件傳送至此 Cmdlet。

輸出

None, System.Management.Automation.RemotingJob

如果您指定 AsJob 參數,此 Cmdlet 會傳回工作物件。 否則,它不會產生任何輸出。