Remove-WmiObject
Löscht eine Instanz einer vorhandenen Windows-Verwaltungsinstrumentation (WMI)-Klasse.
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>]
Beschreibung
Das cmdlet Remove-WmiObject
löscht eine Instanz einer vorhandenen Windows-Verwaltungsinstrumentation (Windows Management Instrumentation, WMI)-Klasse.
Beispiele
Beispiel 1: Schließen aller Instanzen eines Win32-Prozesses
notepad
$np = Get-WmiObject -Query "select * from Win32_Process where name='notepad.exe'"
$np | Remove-WmiObject
In diesem Beispiel werden alle Instanzen von Notepad.exegeschlossen.
Der erste Befehl startet eine Instanz von Editor.
Der zweite Befehl verwendet das Cmdlet Get-WmiObject, um die Instanzen der Win32_Process abzurufen, die Notepad.exeentsprechen, und speichert sie dann in der variablen $np
.
Der dritte Befehl übergibt das Objekt in der $np Variablen an Remove-WmiObject
, wodurch alle Instanzen von Notepad.exegelöscht werden.
Beispiel 2: Löschen eines Ordners
Mit diesem Befehl wird der Ordner "C:\Test" gelöscht.
$a = Get-WmiObject -Query "Select * From Win32_Directory Where Name ='C:\\Test'"
$a | Remove-WmiObject
Der erste Befehl verwendet Get-WmiObject
zum Abfragen des C:\Test
Ordners und speichert das Objekt dann in der $a
Variablen.
Der zweite Befehl gibt die $a
Variable an Remove-WmiObject
weiter, wodurch der Ordner gelöscht wird.
Parameter
-AsJob
Gibt an, dass dieses Cmdlet als Hintergrundauftrag ausgeführt wird. Verwenden Sie diesen Parameter, um Befehle auszuführen, die lange dauern.
Neue CIM-Cmdlets, die Windows PowerShell 3.0 eingeführt haben, führen dieselben Aufgaben wie die WMI-Cmdlets aus. Die CIM-Cmdlets entsprechen WS-Management (WSMan)-Standards und dem Common Information Model (CIM)-Standard, mit dem die Cmdlets dieselben Techniken verwenden können, um Computer zu verwalten, die das Windows-Betriebssystem und andere Betriebssysteme ausführen. Statt Remove-WmiObject
zu verwenden, sollten Sie das Cmdlet Remove-CimInstance verwenden.
Wenn Sie den parameter AsJob verwenden, gibt der Befehl ein Objekt zurück, das den Hintergrundauftrag darstellt, und zeigt dann die Eingabeaufforderung an. Sie können weiterhin in der Sitzung arbeiten, während der Auftrag abgeschlossen ist. Wenn Remove-WmiObject
für einen Remotecomputer verwendet wird, wird der Auftrag auf dem lokalen Computer erstellt, und die Ergebnisse von Remotecomputern werden automatisch an den lokalen Computer zurückgegeben. Verwenden Sie zum Verwalten des Auftrags die Cmdlets, die das Auftrag Substantiv enthalten (die cmdlets Job). Verwenden Sie das Cmdlet Receive-Job
, um die Auftragsergebnisse abzurufen.
Um diesen Parameter für Remotecomputer zu verwenden, müssen die lokalen und Remotecomputer für Remoting konfiguriert werden. Starten Sie Windows PowerShell mithilfe der Option "Als Administrator ausführen". Weitere Informationen finden Sie unter about_Remote_Requirements.
Weitere Informationen zu Windows PowerShell-Hintergrundaufträgen finden Sie unter about_Jobs und about_Remote_Jobs.
Typ: | SwitchParameter |
Position: | Named |
Standardwert: | None |
Erforderlich: | False |
Pipelineeingabe akzeptieren: | False |
Platzhalterzeichen akzeptieren: | False |
-Authentication
Gibt die für die WMI-Verbindung zu verwendende Authentifizierungsebene an. Die zulässigen Werte für diesen Parameter sind:
-
-1
: Unverändert. -
0
: Standard. -
1
: Keine. Es wurde keine Authentifizierung ausgeführt. -
2
: Verbinden. Die Authentifizierung wird nur ausgeführt, wenn der Client eine Beziehung mit der Anwendung herstellt. -
3
: Anruf. Die Authentifizierung erfolgt nur zu Beginn jedes Anrufs, wenn die Anwendung die Anforderung empfängt. -
4
: Paket. Die Authentifizierung erfolgt für alle Daten, die vom Client empfangen werden. -
5
: PacketIntegrity. Alle Daten, die zwischen dem Client und der Anwendung übertragen werden, werden authentifiziert und überprüft. -
6
: PacketPrivacy. Die Eigenschaften der anderen Authentifizierungsstufen werden verwendet, und alle Daten werden verschlüsselt.
Typ: | AuthenticationLevel |
Zulässige Werte: | Default, None, Connect, Call, Packet, PacketIntegrity, PacketPrivacy, Unchanged |
Position: | Named |
Standardwert: | None |
Erforderlich: | False |
Pipelineeingabe akzeptieren: | False |
Platzhalterzeichen akzeptieren: | False |
-Authority
Gibt die Autorität an, die zum Authentifizieren der WMI-Verbindung verwendet werden soll. Sie können die standardmäßige NTLM- oder Kerberos-Authentifizierung angeben. Um NTLM zu verwenden, legen Sie die Autoritätseinstellung auf ntlmdomain fest:<DomainName>, wobei <DomainName-> einen gültigen NTLM-Domänennamen identifiziert. Geben Sie kerberos an, um Kerberos zu verwenden:<DomainName>\<ServerName>. Sie können die Autoritätseinstellung nicht einschließen, wenn Sie eine Verbindung mit dem lokalen Computer herstellen.
Typ: | String |
Position: | Named |
Standardwert: | None |
Erforderlich: | False |
Pipelineeingabe akzeptieren: | False |
Platzhalterzeichen akzeptieren: | False |
-Class
Gibt den Namen einer WMI-Klasse an, die dieses Cmdlet löscht.
Typ: | String |
Position: | 0 |
Standardwert: | None |
Erforderlich: | True |
Pipelineeingabe akzeptieren: | False |
Platzhalterzeichen akzeptieren: | False |
-ComputerName
Gibt den Namen des Computers an, auf dem dieses Cmdlet ausgeführt wird. Der Standardwert ist der lokale Computer.
Geben Sie den NetBIOS-Namen, eine IP-Adresse oder einen vollqualifizierten Domänennamen eines oder mehrerer Computer ein. Um den lokalen Computer anzugeben, geben Sie den Computernamen, einen Punkt (.
) oder localhost ein.
Dieser Parameter basiert nicht auf Windows PowerShell-Remoting. Sie können den parameter ComputerName verwenden, auch wenn Ihr Computer nicht für die Ausführung von Remotebefehlen konfiguriert ist.
Typ: | String[] |
Aliase: | Cn |
Position: | Named |
Standardwert: | None |
Erforderlich: | False |
Pipelineeingabe akzeptieren: | False |
Platzhalterzeichen akzeptieren: | False |
-Confirm
Fordert Sie vor dem Ausführen des Cmdlets zur Bestätigung auf.
Typ: | SwitchParameter |
Aliase: | cf |
Position: | Named |
Standardwert: | False |
Erforderlich: | False |
Pipelineeingabe akzeptieren: | False |
Platzhalterzeichen akzeptieren: | False |
-Credential
Gibt ein Benutzerkonto an, das über die Berechtigung zum Ausführen dieser Aktion verfügt. Die Standardeinstellung ist der aktuelle Benutzer.
Geben Sie einen Benutzernamen ein, z. B. "User01" oder "Domain01\User01", oder geben Sie ein PSCredential--Objekt ein, z. B. ein Objekt, das vom Cmdlet Get-Credential
generiert wird. Wenn Sie einen Benutzernamen eingeben, werden Sie von diesem Cmdlet aufgefordert, ein Kennwort einzugeben.
Typ: | PSCredential |
Position: | Named |
Standardwert: | None |
Erforderlich: | False |
Pipelineeingabe akzeptieren: | False |
Platzhalterzeichen akzeptieren: | False |
-EnableAllPrivileges
Gibt an, dass dieses Cmdlet alle Berechtigungen des aktuellen Benutzers aktiviert, bevor der Befehl ausgeführt wird, der den WMI-Aufruf vorgibt.
Typ: | SwitchParameter |
Position: | Named |
Standardwert: | None |
Erforderlich: | False |
Pipelineeingabe akzeptieren: | False |
Platzhalterzeichen akzeptieren: | False |
-Impersonation
Gibt die zu verwendende Identitätswechselebene an. Die zulässigen Werte für diesen Parameter sind:
-
0
: Standard. Liest die lokale Registrierung für die Standardidentitätswechselebene, die in der Regel auf 3 festgelegt ist: Identitätswechsel. -
1
: Anonym. Blendet die Anmeldeinformationen des Aufrufers aus. -
2
: Identifizieren. Ermöglicht Es Objekten, die Anmeldeinformationen des Aufrufers abzufragen. -
3
: Identitätswechsel. Ermöglicht es Objekten, die Anmeldeinformationen des Aufrufers zu verwenden. -
4
: Stellvertretung. Ermöglicht Objekten die Verwendung der Anmeldeinformationen des Aufrufers für andere Objekte.
Typ: | ImpersonationLevel |
Zulässige Werte: | Default, Anonymous, Identify, Impersonate, Delegate |
Position: | Named |
Standardwert: | None |
Erforderlich: | False |
Pipelineeingabe akzeptieren: | False |
Platzhalterzeichen akzeptieren: | False |
-InputObject
Gibt ein ManagementObject--Objekt an, das als Eingabe verwendet werden soll. Wenn dieser Parameter verwendet wird, werden alle anderen Parameter ignoriert.
Typ: | ManagementObject |
Position: | Named |
Standardwert: | None |
Erforderlich: | True |
Pipelineeingabe akzeptieren: | True |
Platzhalterzeichen akzeptieren: | False |
-Locale
Gibt das bevorzugte Gebietsschema für WMI-Objekte an. Der parameter Locale wird als Array im MS_<LCID-> Format in der bevorzugten Reihenfolge angegeben.
Typ: | String |
Position: | Named |
Standardwert: | None |
Erforderlich: | False |
Pipelineeingabe akzeptieren: | False |
Platzhalterzeichen akzeptieren: | False |
-Namespace
Gibt den WMI-Repositorynamespace an, in dem sich die referenzierte WMI-Klasse befindet, wenn sie mit dem parameter Class verwendet wird.
Typ: | String |
Aliase: | NS |
Position: | Named |
Standardwert: | None |
Erforderlich: | False |
Pipelineeingabe akzeptieren: | False |
Platzhalterzeichen akzeptieren: | False |
-Path
Gibt den WMI-Objektpfad einer WMI-Klasse an oder gibt den WMI-Objektpfad einer Instanz einer zu löschenden WMI-Klasse an.
Typ: | String |
Position: | Named |
Standardwert: | None |
Erforderlich: | True |
Pipelineeingabe akzeptieren: | False |
Platzhalterzeichen akzeptieren: | False |
-ThrottleLimit
Gibt die maximale Anzahl gleichzeitiger Verbindungen an, die zum Ausführen dieses Befehls eingerichtet werden können. Dieser Parameter wird zusammen mit dem parameter AsJob verwendet. Der Drosselungsgrenzwert gilt nur für den aktuellen Befehl, nicht für die Sitzung oder den Computer.
Typ: | Int32 |
Position: | Named |
Standardwert: | None |
Erforderlich: | False |
Pipelineeingabe akzeptieren: | False |
Platzhalterzeichen akzeptieren: | False |
-WhatIf
Zeigt, was passiert, wenn das Cmdlet ausgeführt wird. Das Cmdlet wird nicht ausgeführt.
Typ: | SwitchParameter |
Aliase: | wi |
Position: | Named |
Standardwert: | False |
Erforderlich: | False |
Pipelineeingabe akzeptieren: | False |
Platzhalterzeichen akzeptieren: | False |
Eingaben
Sie können ein Verwaltungsobjekt an dieses Cmdlet weiterleiten.
Ausgaben
None, System.Management.Automation.RemotingJob
Dieses Cmdlet gibt ein Auftragsobjekt zurück, wenn Sie den parameter AsJob angeben. Andernfalls wird keine Ausgabe generiert.
Hinweise
Windows PowerShell enthält die folgenden Aliase für Remove-WmiObject
:
rwmi