Remove-WmiObject
Elimina un'istanza di una classe WMI (Windows Management Instrumentation) 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 cmdlet Remove-WmiObject
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 avvia un'istanza del Blocco note.
Il secondo comando usa il cmdlet Get-WmiObject per recuperare le istanze del Win32_Process che corrispondono a Notepad.exee quindi le archivia nella variabile $np
.
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 cartella C:\Test
e quindi archivia l'oggetto nella variabile $a
.
Il secondo comando invia tramite pipe la variabile $a
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 che richiedono molto tempo per terminare.
I nuovi cmdlet CIM, introdotti in 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 al termine del processo. 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 cmdlet Receive-Job
.
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 accettabili per questo parametro sono:
-
-1
: invariato. -
0
: impostazione predefinita. -
1
: Nessuno. Nessuna autenticazione eseguita. -
2
: Connetti. L'autenticazione viene eseguita solo quando il client stabilisce una relazione con l'applicazione. -
3
: chiamata. 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 utilizzare per autenticare la connessione WMI. È possibile specificare l'autenticazione NTLM o Kerberos standard. 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>\<NomeServer>. 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 usare 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 autorizzato a 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 quello generato dal cmdlet Get-Credential
. 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 utilizzare. I valori accettabili 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
: rappresentazione. Consente agli oggetti di utilizzare le credenziali del chiamante. -
4
: delegato. Consente agli oggetti di consentire ad altri oggetti di utilizzare 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, tutti gli altri parametri vengono ignorati.
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 impostazioni locali viene specificato come matrice nel formato> LCID MS_<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 a cui si fa riferimento quando viene usato con il parametro Classe.
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 specifica 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 questo comando. Questo parametro viene usato insieme al parametro AsJob. Il limite di limitazione 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 cosa accadrebbe se il cmdlet viene eseguito. 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
È 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