Il cmdlet Set-WmiInstance crea o aggiorna un'istanza di una classe WMI (Windows Management Instrumentation) esistente.
L'istanza creata o aggiornata viene scritta nel repository WMI.
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).
In questo modo i cmdlet possono utilizzare le stesse tecniche per gestire i computer basati su Windows e quelli che eseguono altri sistemi operativi.
Anziché usare Set-WmiInstance, è consigliabile usare i cmdlet Set-CimInstance o New-CimInstance.
Esempio
Esempio 1: Impostare il livello di registrazione WMI
Questo comando imposta il livello di registrazione WMI su 2.
Il comando passa la proprietà da impostare e il valore, insieme considerati una coppia di valori, nel parametro dell'argomento.
Il parametro accetta una tabella hash definita dalla costruzione @{property = value}.
Le informazioni sulla classe restituite riflettono il nuovo valore.
Esempio 2: Creare una variabile di ambiente e il relativo valore
Questo comando crea la variabile di ambiente testvar con il valore testvalue.
A tale scopo, creare una nuova istanza della classe WMI Win32_Environment.
Questa operazione richiede credenziali appropriate e potrebbe essere necessario riavviare Windows PowerShell per visualizzare la nuova variabile di ambiente.
Esempio 3: Impostare il livello di registrazione WMI per diversi computer remoti
Questo comando imposta il livello di registrazione WMI su 2.
Il comando passa la proprietà da impostare e il valore, insieme considerati una coppia di valori, nel parametro dell'argomento.
Il parametro accetta una tabella hash definita dalla costruzione @{property = value}.
Le informazioni sulla classe restituite riflettono il nuovo valore.
Parametri
-Arguments
Specifica il nome della proprietà da modificare e il nuovo valore per tale proprietà.
Il nome e il valore devono essere una coppia nome-valore.
La coppia nome-valore viene passata nella riga di comando come tabella hash.
Per esempio:
@{Setting1=1; Setting2=5; Setting3="test"}
Proprietà dei parametri
Tipo:
Hashtable
Valore predefinito:
None
Supporta i caratteri jolly:
False
DontShow:
False
Alias:
Argomenti, Proprietà
Set di parametri
class
Posizione:
Named
Obbligatorio:
False
Valore dalla pipeline:
False
Valore dalla pipeline in base al nome della proprietà:
False
Valore dagli argomenti rimanenti:
False
object
Posizione:
Named
Obbligatorio:
False
Valore dalla pipeline:
False
Valore dalla pipeline in base al nome della proprietà:
False
Valore dagli argomenti rimanenti:
False
path
Posizione:
Named
Obbligatorio:
False
Valore dalla pipeline:
False
Valore dalla pipeline in base al nome della proprietà:
False
Valore dagli argomenti rimanenti:
False
-AsJob
Indica che questo cmdket viene eseguito come processo in background.
Usare questo parametro per eseguire comandi che richiedono molto tempo per terminare.
Quando si specifica 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 si utilizza Set-WmiInstance per 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 insieme ai computer remoti, i computer locali e remoti devono essere configurati per la comunicazione remota.
Inoltre, è necessario avviare Windows PowerShell utilizzando l'opzione Esegui come amministratore in Windows Vista e versioni successive del sistema operativo Windows.
Per altre informazioni, vedere about_Remote_Requirements.
Per altre informazioni sui processi in background di Windows PowerShell, vedere about_Jobs e about_Remote_Jobs.
Proprietà dei parametri
Tipo:
SwitchParameter
Valore predefinito:
None
Supporta i caratteri jolly:
False
DontShow:
False
Set di parametri
(All)
Posizione:
Named
Obbligatorio:
False
Valore dalla pipeline:
False
Valore dalla pipeline in base al nome della proprietà:
False
Valore dagli argomenti rimanenti:
False
-Authentication
Specifica il livello di autenticazione che deve essere utilizzato con la connessione WMI.
I valori accettabili per questo parametro sono:
-1: Invariato.
0: impostazione predefinita.
1: Nessuno.
Nessuna autenticazione eseguita.
2: Connettiti.
L'autenticazione viene eseguita solo quando il client stabilisce una relazione con l'applicazione.
3: Chiama.
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: Integrità dei pacchetti.
Tutti i dati trasferiti tra il client e l'applicazione vengono autenticati e verificati.
6: Pacchetto Privacy.
Vengono usate le proprietà degli altri livelli di autenticazione e tutti i dati vengono crittografati.
Valore dalla pipeline in base al nome della proprietà:
False
Valore dagli argomenti rimanenti:
False
path
Posizione:
Named
Obbligatorio:
False
Valore dalla pipeline:
False
Valore dalla pipeline in base al nome della proprietà:
False
Valore dagli argomenti rimanenti:
False
WQLQuery
Posizione:
Named
Obbligatorio:
False
Valore dalla pipeline:
False
Valore dalla pipeline in base al nome della proprietà:
False
Valore dagli argomenti rimanenti:
False
query
Posizione:
Named
Obbligatorio:
False
Valore dalla pipeline:
False
Valore dalla pipeline in base al nome della proprietà:
False
Valore dagli argomenti rimanenti:
False
list
Posizione:
Named
Obbligatorio:
False
Valore dalla pipeline:
False
Valore dalla pipeline in base al nome della proprietà:
False
Valore dagli argomenti rimanenti:
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.
Proprietà dei parametri
Tipo:
String
Valore predefinito:
None
Supporta i caratteri jolly:
False
DontShow:
False
Set di parametri
class
Posizione:
Named
Obbligatorio:
False
Valore dalla pipeline:
False
Valore dalla pipeline in base al nome della proprietà:
False
Valore dagli argomenti rimanenti:
False
path
Posizione:
Named
Obbligatorio:
False
Valore dalla pipeline:
False
Valore dalla pipeline in base al nome della proprietà:
False
Valore dagli argomenti rimanenti:
False
WQLQuery
Posizione:
Named
Obbligatorio:
False
Valore dalla pipeline:
False
Valore dalla pipeline in base al nome della proprietà:
False
Valore dagli argomenti rimanenti:
False
query
Posizione:
Named
Obbligatorio:
False
Valore dalla pipeline:
False
Valore dalla pipeline in base al nome della proprietà:
False
Valore dagli argomenti rimanenti:
False
list
Posizione:
Named
Obbligatorio:
False
Valore dalla pipeline:
False
Valore dalla pipeline in base al nome della proprietà:
False
Valore dagli argomenti rimanenti:
False
-Class
Specifica il nome di una classe WMI.
Proprietà dei parametri
Tipo:
String
Valore predefinito:
None
Supporta i caratteri jolly:
False
DontShow:
False
Set di parametri
class
Posizione:
0
Obbligatorio:
True
Valore dalla pipeline:
False
Valore dalla pipeline in base al nome della proprietà:
False
Valore dagli argomenti rimanenti:
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.
Proprietà dei parametri
Tipo:
String[]
Valore predefinito:
None
Supporta i caratteri jolly:
False
DontShow:
False
Alias:
CN
Set di parametri
class
Posizione:
Named
Obbligatorio:
False
Valore dalla pipeline:
False
Valore dalla pipeline in base al nome della proprietà:
False
Valore dagli argomenti rimanenti:
False
path
Posizione:
Named
Obbligatorio:
False
Valore dalla pipeline:
False
Valore dalla pipeline in base al nome della proprietà:
False
Valore dagli argomenti rimanenti:
False
WQLQuery
Posizione:
Named
Obbligatorio:
False
Valore dalla pipeline:
False
Valore dalla pipeline in base al nome della proprietà:
False
Valore dagli argomenti rimanenti:
False
query
Posizione:
Named
Obbligatorio:
False
Valore dalla pipeline:
False
Valore dalla pipeline in base al nome della proprietà:
False
Valore dagli argomenti rimanenti:
False
list
Posizione:
Named
Obbligatorio:
False
Valore dalla pipeline:
False
Valore dalla pipeline in base al nome della proprietà:
False
Valore dagli argomenti rimanenti:
False
-Confirm
Richiede conferma prima di eseguire il cmdlet.
Proprietà dei parametri
Tipo:
SwitchParameter
Valore predefinito:
False
Supporta i caratteri jolly:
False
DontShow:
False
Alias:
cfr
Set di parametri
(All)
Posizione:
Named
Obbligatorio:
False
Valore dalla pipeline:
False
Valore dalla pipeline in base al nome della proprietà:
False
Valore dagli argomenti rimanenti:
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.
Questo parametro non è supportato da alcun provider installato con parametro non è supportato da alcun provider installato con Windows PowerShell.
Proprietà dei parametri
Tipo:
PSCredential
Valore predefinito:
None
Supporta i caratteri jolly:
False
DontShow:
False
Set di parametri
class
Posizione:
Named
Obbligatorio:
False
Valore dalla pipeline:
False
Valore dalla pipeline in base al nome della proprietà:
False
Valore dagli argomenti rimanenti:
False
path
Posizione:
Named
Obbligatorio:
False
Valore dalla pipeline:
False
Valore dalla pipeline in base al nome della proprietà:
False
Valore dagli argomenti rimanenti:
False
WQLQuery
Posizione:
Named
Obbligatorio:
False
Valore dalla pipeline:
False
Valore dalla pipeline in base al nome della proprietà:
False
Valore dagli argomenti rimanenti:
False
query
Posizione:
Named
Obbligatorio:
False
Valore dalla pipeline:
False
Valore dalla pipeline in base al nome della proprietà:
False
Valore dagli argomenti rimanenti:
False
list
Posizione:
Named
Obbligatorio:
False
Valore dalla pipeline:
False
Valore dalla pipeline in base al nome della proprietà:
False
Valore dagli argomenti rimanenti:
False
-EnableAllPrivileges
Indica che questo cmdlet abilita tutte le autorizzazioni dell'utente corrente prima del comando che effettua la chiamata WMI.
Proprietà dei parametri
Tipo:
SwitchParameter
Valore predefinito:
None
Supporta i caratteri jolly:
False
DontShow:
False
Set di parametri
class
Posizione:
Named
Obbligatorio:
False
Valore dalla pipeline:
False
Valore dalla pipeline in base al nome della proprietà:
False
Valore dagli argomenti rimanenti:
False
path
Posizione:
Named
Obbligatorio:
False
Valore dalla pipeline:
False
Valore dalla pipeline in base al nome della proprietà:
False
Valore dagli argomenti rimanenti:
False
WQLQuery
Posizione:
Named
Obbligatorio:
False
Valore dalla pipeline:
False
Valore dalla pipeline in base al nome della proprietà:
False
Valore dagli argomenti rimanenti:
False
query
Posizione:
Named
Obbligatorio:
False
Valore dalla pipeline:
False
Valore dalla pipeline in base al nome della proprietà:
False
Valore dagli argomenti rimanenti:
False
list
Posizione:
Named
Obbligatorio:
False
Valore dalla pipeline:
False
Valore dalla pipeline in base al nome della proprietà:
False
Valore dagli argomenti rimanenti:
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: Impersonare.
Consente agli oggetti di utilizzare le credenziali del chiamante.
4: Delegare.
Consente agli oggetti di consentire ad altri oggetti di utilizzare le credenziali del chiamante.
Valore dalla pipeline in base al nome della proprietà:
False
Valore dagli argomenti rimanenti:
False
path
Posizione:
Named
Obbligatorio:
False
Valore dalla pipeline:
False
Valore dalla pipeline in base al nome della proprietà:
False
Valore dagli argomenti rimanenti:
False
WQLQuery
Posizione:
Named
Obbligatorio:
False
Valore dalla pipeline:
False
Valore dalla pipeline in base al nome della proprietà:
False
Valore dagli argomenti rimanenti:
False
query
Posizione:
Named
Obbligatorio:
False
Valore dalla pipeline:
False
Valore dalla pipeline in base al nome della proprietà:
False
Valore dagli argomenti rimanenti:
False
list
Posizione:
Named
Obbligatorio:
False
Valore dalla pipeline:
False
Valore dalla pipeline in base al nome della proprietà:
False
Valore dagli argomenti rimanenti:
False
-InputObject
Specifica un oggetto ManagementObject da utilizzare come input.
Quando si usa questo parametro, tutti gli altri parametri , ad eccezione del parametro argomenti , vengono ignorati.
Proprietà dei parametri
Tipo:
ManagementObject
Valore predefinito:
None
Supporta i caratteri jolly:
False
DontShow:
False
Set di parametri
object
Posizione:
Named
Obbligatorio:
True
Valore dalla pipeline:
True
Valore dalla pipeline in base al nome della proprietà:
False
Valore dagli argomenti rimanenti:
False
-Locale
Specifica le impostazioni locali preferite per gli oggetti WMI.
Il parametro Locale viene specificato in una matrice nel formato MS_<LCID> nell'ordine preferito.
Proprietà dei parametri
Tipo:
String
Valore predefinito:
None
Supporta i caratteri jolly:
False
DontShow:
False
Set di parametri
class
Posizione:
Named
Obbligatorio:
False
Valore dalla pipeline:
False
Valore dalla pipeline in base al nome della proprietà:
False
Valore dagli argomenti rimanenti:
False
path
Posizione:
Named
Obbligatorio:
False
Valore dalla pipeline:
False
Valore dalla pipeline in base al nome della proprietà:
False
Valore dagli argomenti rimanenti:
False
WQLQuery
Posizione:
Named
Obbligatorio:
False
Valore dalla pipeline:
False
Valore dalla pipeline in base al nome della proprietà:
False
Valore dagli argomenti rimanenti:
False
query
Posizione:
Named
Obbligatorio:
False
Valore dalla pipeline:
False
Valore dalla pipeline in base al nome della proprietà:
False
Valore dagli argomenti rimanenti:
False
list
Posizione:
Named
Obbligatorio:
False
Valore dalla pipeline:
False
Valore dalla pipeline in base al nome della proprietà:
False
Valore dagli argomenti rimanenti:
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.
Proprietà dei parametri
Tipo:
String
Valore predefinito:
None
Supporta i caratteri jolly:
False
DontShow:
False
Alias:
NS
Set di parametri
class
Posizione:
Named
Obbligatorio:
False
Valore dalla pipeline:
False
Valore dalla pipeline in base al nome della proprietà:
False
Valore dagli argomenti rimanenti:
False
path
Posizione:
Named
Obbligatorio:
False
Valore dalla pipeline:
False
Valore dalla pipeline in base al nome della proprietà:
False
Valore dagli argomenti rimanenti:
False
WQLQuery
Posizione:
Named
Obbligatorio:
False
Valore dalla pipeline:
False
Valore dalla pipeline in base al nome della proprietà:
False
Valore dagli argomenti rimanenti:
False
query
Posizione:
Named
Obbligatorio:
False
Valore dalla pipeline:
False
Valore dalla pipeline in base al nome della proprietà:
False
Valore dagli argomenti rimanenti:
False
list
Posizione:
Named
Obbligatorio:
False
Valore dalla pipeline:
False
Valore dalla pipeline in base al nome della proprietà:
False
Valore dagli argomenti rimanenti:
False
-Path
Specifica un percorso oggetto WMI dell'istanza che si desidera creare o aggiornare.
Proprietà dei parametri
Tipo:
String
Valore predefinito:
None
Supporta i caratteri jolly:
False
DontShow:
False
Set di parametri
path
Posizione:
Named
Obbligatorio:
True
Valore dalla pipeline:
False
Valore dalla pipeline in base al nome della proprietà:
False
Valore dagli argomenti rimanenti:
False
-PutType
Indica se creare o aggiornare l'istanza WMI.
I valori accettabili per questo parametro sono:
Solo aggiornamento.
Aggiorna un'istanza WMI esistente.
CreateOnly.
Crea una nuova istanza WMI.
AggiornaOCrea.
Aggiorna l'istanza WMI, se esiste, o crea una nuova istanza se un'istanza non esiste.
Proprietà dei parametri
Tipo:
PutType
Valore predefinito:
None
Valori accettati:
None, UpdateOnly, CreateOnly, UpdateOrCreate
Supporta i caratteri jolly:
False
DontShow:
False
Set di parametri
(All)
Posizione:
Named
Obbligatorio:
False
Valore dalla pipeline:
False
Valore dalla pipeline in base al nome della proprietà:
False
Valore dagli argomenti rimanenti:
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.
Proprietà dei parametri
Tipo:
Int32
Valore predefinito:
None
Supporta i caratteri jolly:
False
DontShow:
False
Set di parametri
(All)
Posizione:
Named
Obbligatorio:
False
Valore dalla pipeline:
False
Valore dalla pipeline in base al nome della proprietà:
False
Valore dagli argomenti rimanenti:
False
-WhatIf
Mostra gli effetti dell'esecuzione del cmdlet.
Il cmdlet non viene eseguito.
Proprietà dei parametri
Tipo:
SwitchParameter
Valore predefinito:
False
Supporta i caratteri jolly:
False
DontShow:
False
Alias:
Wi
Set di parametri
(All)
Posizione:
Named
Obbligatorio:
False
Valore dalla pipeline:
False
Valore dalla pipeline in base al nome della proprietà:
False
Valore dagli argomenti rimanenti:
False
CommonParameters
Questo cmdlet supporta i parametri comuni: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction e -WarningVariable. Per altre informazioni, vedi about_CommonParameters.