Condividi tramite


Remove-WmiObject

Elimina un'istanza di una classe di Strumentazione gestione Windows (WMI) esistente.

Sintassi

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>]

Descrizione

Il Remove-WmiObject cmdlet elimina un'istanza di una classe WMI (Windows Management Instrumentation) esistente.

Esempio

Esempio 1: Chiudere tutte le istanze di un processo Win32

notepad
$np = Get-WmiObject -Query "select * from win32_process where name='notepad.exe'"
$np | Remove-WmiObject

Questo esempio chiude tutte le istanze di Notepad.exe.

Il primo comando avviata un'istanza del Blocco note.

Il secondo comando usa il cmdlet Get-WmiObject per recuperare le istanze del Win32_Process che corrispondono a Notepad.exe e quindi le archivia nella $np variabile.

Il terzo comando passa l'oggetto nella variabile $np a Remove-WmiObject, che elimina tutte le istanze di Notepad.exe.

Esempio 2: Eliminare una cartella

Questo comando elimina la cartella C:\Test.

$a = Get-WMIObject -Query "Select * From Win32_Directory Where Name ='C:\\Test'"
$a | Remove-WMIObject

Il primo comando usa Get-WMIObject per eseguire una query per la C:\Test cartella e quindi archivia l'oggetto nella $a variabile .

Il secondo comando invia tramite pipe la $a variabile a Remove-WMIObject, che elimina la cartella .

Parametri

-AsJob

Indica che questo cmdlet viene eseguito come processo in background. Usare questo parametro per eseguire comandi il cui completamento richiede molto tempo.

I nuovi cmdlet CIM, introdotti con Windows PowerShell 3.0, eseguono le stesse attività dei cmdlet WMI. I cmdlet CIM sono conformi agli standard WS-Management (WSMan) e allo standard COMMON Information Model (CIM), che consente ai cmdlet di usare le stesse tecniche per gestire i computer che eseguono il sistema operativo Windows e quelli che eseguono altri sistemi operativi. Invece di usare Remove-WmiObject, è consigliabile usare il cmdlet Remove-CimInstance.

Quando si usa il parametro AsJob , il comando restituisce un oggetto che rappresenta il processo in background e quindi visualizza il prompt dei comandi. È possibile continuare a lavorare nella sessione mentre il processo viene completato. Se Remove-WmiObject viene utilizzato in un computer remoto, il processo viene creato nel computer locale e i risultati dei computer remoti vengono restituiti automaticamente al computer locale. Per gestire il processo, usare i cmdlet che contengono il sostantivo Job ( cmdlet Job ). Per ottenere i risultati del processo, usare il Receive-Job cmdlet .

Per usare questo parametro per i computer remoti, i computer locali e remoti devono essere configurati per la comunicazione remota. Avviare Windows PowerShell usando l'opzione Esegui come amministratore. Per altre informazioni, vedere about_Remote_Requirements.

Per altre informazioni sui processi in background di Windows PowerShell, vedere about_Jobs e about_Remote_Jobs .

Tipo:SwitchParameter
Posizione:Named
Valore predefinito:None
Necessario:False
Accettare l'input della pipeline:False
Accettare caratteri jolly:False

-Authentication

Specifica il livello di autenticazione da utilizzare per la connessione WMI. I valori validi per questo parametro sono:

  • -1:Inalterato.
  • 0: impostazione predefinita.
  • 1:Nessuno. Nessuna autenticazione eseguita.
  • 2:Connettersi. L'autenticazione viene eseguita solo quando il client stabilisce una relazione con l'applicazione.
  • 3:Chiamare. L'autenticazione viene eseguita solo all'inizio di ogni chiamata quando l'applicazione riceve la richiesta.
  • 4:Pacchetto. L'autenticazione viene eseguita su tutti i dati ricevuti dal client.
  • 5: PacketIntegrity. Tutti i dati trasferiti tra il client e l'applicazione vengono autenticati e verificati.
  • 6: PacketPrivacy. Vengono usate le proprietà degli altri livelli di autenticazione e tutti i dati vengono crittografati.
Tipo:AuthenticationLevel
Valori accettati:Default, None, Connect, Call, Packet, PacketIntegrity, PacketPrivacy, Unchanged
Posizione:Named
Valore predefinito:None
Necessario:False
Accettare l'input della pipeline:False
Accettare caratteri jolly:False

-Authority

Specifica l'autorità da usare per autenticare la connessione WMI. È possibile specificare l'autenticazione NTLM standard o Kerberos. Per usare NTLM, impostare l'impostazione dell'autorità su ntlmdomain:<DomainName, dove <DomainName>> identifica un nome di dominio NTLM valido. Per usare Kerberos, specificare kerberos:<DomainName>\<ServerName>. Non è possibile includere l'impostazione dell'autorità quando ci si connette al computer locale.

Tipo:String
Posizione:Named
Valore predefinito:None
Necessario:False
Accettare l'input della pipeline:False
Accettare caratteri jolly:False

-Class

Specifica il nome di una classe WMI eliminata da questo cmdlet.

Tipo:String
Posizione:0
Valore predefinito:None
Necessario:True
Accettare l'input della pipeline:False
Accettare caratteri jolly:False

-ComputerName

Specifica il nome del computer in cui viene eseguito questo cmdlet. Il valore predefinito è il computer locale.

Digitare il nome NetBIOS, un indirizzo IP o un nome di dominio completo di uno o più computer. Per specificare il computer locale, digitare il nome del computer, un punto (.) o localhost.

Questo parametro non si basa sulla comunicazione remota di Windows PowerShell. È possibile utilizzare il parametro ComputerName anche se il computer non è configurato per eseguire comandi remoti.

Tipo:String[]
Alias:Cn
Posizione:Named
Valore predefinito:None
Necessario:False
Accettare l'input della pipeline:False
Accettare caratteri jolly:False

-Confirm

Richiede conferma prima di eseguire il cmdlet.

Tipo:SwitchParameter
Alias:cf
Posizione:Named
Valore predefinito:False
Necessario:False
Accettare l'input della pipeline:False
Accettare caratteri jolly:False

-Credential

Specifica un account utente che dispone delle autorizzazioni per eseguire questa azione. Il valore predefinito è l'utente corrente.

Digitare un nome utente, ad esempio User01 o Domain01\User01, oppure immettere un oggetto PSCredential , ad esempio uno generato dal Get-Credential cmdlet. Se si digita un nome utente, questo cmdlet richiede una password.

Tipo:PSCredential
Posizione:Named
Valore predefinito:None
Necessario:False
Accettare l'input della pipeline:False
Accettare caratteri jolly:False

-EnableAllPrivileges

Indica che questo cmdlet abilita tutte le autorizzazioni dell'utente corrente prima del comando che effettua la chiamata WMI.

Tipo:SwitchParameter
Posizione:Named
Valore predefinito:None
Necessario:False
Accettare l'input della pipeline:False
Accettare caratteri jolly:False

-Impersonation

Specifica il livello di rappresentazione da usare. I valori validi per questo parametro sono:

  • 0: impostazione predefinita. Legge il Registro di sistema locale per il livello di rappresentazione predefinito, che in genere è impostato su 3: Rappresentazione.
  • 1:Anonimo. Nasconde le credenziali del chiamante.
  • 2:Identificare. Consente agli oggetti di eseguire query sulle credenziali del chiamante.
  • 3:Impersonare. Consente agli oggetti di usare le credenziali del chiamante.
  • 4:Delegato. Consente agli oggetti di permettere ad altri oggetti di usare le credenziali del chiamante.
Tipo:ImpersonationLevel
Valori accettati:Default, Anonymous, Identify, Impersonate, Delegate
Posizione:Named
Valore predefinito:None
Necessario:False
Accettare l'input della pipeline:False
Accettare caratteri jolly:False

-InputObject

Specifica un oggetto ManagementObject da utilizzare come input. Quando si usa questo parametro, vengono ignorati tutti gli altri parametri.

Tipo:ManagementObject
Posizione:Named
Valore predefinito:None
Necessario:True
Accettare l'input della pipeline:True
Accettare caratteri jolly:False

-Locale

Specifica le impostazioni locali preferite per gli oggetti WMI. Il parametro Locale viene specificato come matrice nel formato MS_<LCID> nell'ordine preferito.

Tipo:String
Posizione:Named
Valore predefinito:None
Necessario:False
Accettare l'input della pipeline:False
Accettare caratteri jolly:False

-Namespace

Specifica lo spazio dei nomi del repository WMI in cui si trova la classe WMI di riferimento quando viene usata con il parametro Class .

Tipo:String
Alias:NS
Posizione:Named
Valore predefinito:None
Necessario:False
Accettare l'input della pipeline:False
Accettare caratteri jolly:False

-Path

Specifica il percorso dell'oggetto WMI di una classe WMI oppure il percorso dell'oggetto WMI di un'istanza di una classe WMI da eliminare.

Tipo:String
Posizione:Named
Valore predefinito:None
Necessario:True
Accettare l'input della pipeline:False
Accettare caratteri jolly:False

-ThrottleLimit

Specifica il numero massimo di connessioni simultanee che è possibile stabilire per eseguire il comando. Questo parametro viene usato insieme al parametro AsJob . Questo valore limite si applica solo al comando corrente, non alla sessione o al computer.

Tipo:Int32
Posizione:Named
Valore predefinito:None
Necessario:False
Accettare l'input della pipeline:False
Accettare caratteri jolly:False

-WhatIf

Mostra gli effetti dell'esecuzione del cmdlet. Il cmdlet non viene eseguito.

Tipo:SwitchParameter
Alias:wi
Posizione:Named
Valore predefinito:False
Necessario:False
Accettare l'input della pipeline:False
Accettare caratteri jolly:False

Input

ManagementObject

È possibile inviare tramite pipe un oggetto di gestione a questo cmdlet.

Output

None, System.Management.Automation.RemotingJob

Questo cmdlet restituisce un oggetto processo, se si specifica il parametro AsJob . In caso contrario, non genera alcun output.

Note

Windows PowerShell include gli alias seguenti per Remove-WmiObject:

  • rwmi