Set-WmiInstance
Crea o aggiorna un'istanza di una classe di Strumentazione gestione Windows (WMI) esistente.
Sintassi
Set-WmiInstance [-Classe] <string> [[-Arguments] <hashtable>] [-Authentication {<Default> | <None> | <Connect> | <Call> | <Packet> | <PacketIntegrity> | <PacketPrivacy> | <Unchanged>}] [-Authority <string>] [-ComputerName <string[]>] [-Credential <PSCredential>] [-EnableAllPrivileges] [-Impersonation {<Default> | <Anonymous> | <Identify> | <Impersonate> | <Delegate>}] [-Locale <string>] [-Spazio dei nomi <string>] [-AsJob] [-PutType {<None> | <UpdateOnly> | <CreateOnly> | <UpdateOrCreate>}] [-ThrottleLimit <int>] [-Confirm] [-WhatIf] [<CommonParameters>]
Set-WmiInstance [-Authentication {<Default> | <None> | <Connect> | <Call> | <Packet> | <PacketIntegrity> | <PacketPrivacy> | <Unchanged>}] [-Authority <string>] [-ComputerName <string[]>] [-Credential <PSCredential>] [-EnableAllPrivileges] [-Impersonation {<Default> | <Anonymous> | <Identify> | <Impersonate> | <Delegate>}] [-Locale <string>] [-Spazio dei nomi <string>] [-AsJob] [-PutType {<None> | <UpdateOnly> | <CreateOnly> | <UpdateOrCreate>}] [-ThrottleLimit <int>] [-Confirm] [-WhatIf] [<CommonParameters>]
Set-WmiInstance -InputObject <ManagementObject> [-Arguments <hashtable>] [-AsJob] [-PutType {<None> | <UpdateOnly> | <CreateOnly> | <UpdateOrCreate>}] [-ThrottleLimit <int>] [-Confirm] [-WhatIf] [<CommonParameters>]
Set-WmiInstance -Path <string> [-Arguments <hashtable>] [-Authentication {<Default> | <None> | <Connect> | <Call> | <Packet> | <PacketIntegrity> | <PacketPrivacy> | <Unchanged>}] [-Authority <string>] [-ComputerName <string[]>] [-Credential <PSCredential>] [-EnableAllPrivileges] [-Impersonation {<Default> | <Anonymous> | <Identify> | <Impersonate> | <Delegate>}] [-Locale <string>] [-Spazio dei nomi <string>] [-AsJob] [-PutType {<None> | <UpdateOnly> | <CreateOnly> | <UpdateOrCreate>}] [-ThrottleLimit <int>] [-Confirm] [-WhatIf] [<CommonParameters>]
Set-WmiInstance [-Authentication {<Default> | <None> | <Connect> | <Call> | <Packet> | <PacketIntegrity> | <PacketPrivacy> | <Unchanged>}] [-Authority <string>] [-ComputerName <string[]>] [-Credential <PSCredential>] [-EnableAllPrivileges] [-Impersonation {<Default> | <Anonymous> | <Identify> | <Impersonate> | <Delegate>}] [-Locale <string>] [-Spazio dei nomi <string>] [-AsJob] [-PutType {<None> | <UpdateOnly> | <CreateOnly> | <UpdateOrCreate>}] [-ThrottleLimit <int>] [-Confirm] [-WhatIf] [<CommonParameters>]
Set-WmiInstance [-Authentication {<Default> | <None> | <Connect> | <Call> | <Packet> | <PacketIntegrity> | <PacketPrivacy> | <Unchanged>}] [-Authority <string>] [-ComputerName <string[]>] [-Credential <PSCredential>] [-EnableAllPrivileges] [-Impersonation {<Default> | <Anonymous> | <Identify> | <Impersonate> | <Delegate>}] [-Locale <string>] [-Spazio dei nomi <string>] [-AsJob] [-PutType {<None> | <UpdateOnly> | <CreateOnly> | <UpdateOrCreate>}] [-ThrottleLimit <int>] [-Confirm] [-WhatIf] [<CommonParameters>]
Descrizione
Il cmdlet Set-WmiInstance consente di creare o aggiornare un'istanza di una classe WMI esistente. L'istanza creata o aggiornata viene scritta nell'archivio WMI.
Parametri
-Arguments <hashtable>
Specifica il nome della proprietà da modificare e il nuovo valore di tale proprietà. Il nome e il valore devono essere in una coppia nome-valore. La coppia nome-valore viene passata sulla riga di comando come una tabella hash. Ad esempio:
-argument @{Setting1=1; Setting2=5; Setting3="test"}.
Obbligatorio? |
false |
Posizione? |
2 |
Valore predefinito |
|
Accettare input da pipeline? |
false |
Accettare caratteri jolly? |
false |
-AsJob
Esegue il comando come processo in background. Utilizzare questo parametro per eseguire comandi il cui completamento richiede molto tempo.
Quando si utilizza il parametro AsJob, il comando restituisce un oggetto che rappresenta il processo in background, quindi visualizza il prompt dei comandi. È possibile continuare a utilizzare la sessione fino al completamento del processo. Se Set-WmiObject viene utilizzato per un computer remoto, il processo viene creato nel computer locale e i risultati dei computer remoti vengono automaticamente restituiti nel computer locale. Per gestire il processo, utilizzare i cmdlet che contengono il nome Job (cmdlet Job). Per ottenere i risultati del processo, utilizzare il cmdlet Receive-Job.
Nota: per utilizzare questo parametro con computer remoti, è necessario configurare i computer locale e remoto per la comunicazione remota. È inoltre necessario avviare Windows PowerShell utilizzando l'opzione "Esegui come amministratore" di Windows Vista e delle versioni successive di Windows. Per ulteriori informazioni, vedere about_Remote_Requirements.
Per ulteriori informazioni sui processi in background di Windows PowerShell, vedere about_Jobs e about_Remote_Jobs.
Obbligatorio? |
false |
Posizione? |
named |
Valore predefinito |
|
Accettare input da pipeline? |
false |
Accettare caratteri jolly? |
false |
-Authentication <AuthenticationLevel>
Specifica il livello di autenticazione da utilizzare con la connessione WMI. I valori validi sono:
-1: Unchanged
0: Default
1: None (non viene eseguita alcuna autenticazione).
2: Connect (l'autenticazione viene eseguita solo quando il client stabilisce una relazione con l'applicazione).
3: Call (l'autenticazione viene eseguita solo all'inizio di ogni chiamata quando l'applicazione riceve la richiesta).
4: Packet (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 utilizzate le proprietà degli altri livelli di autenticazione e tutti i dati vengono crittografati).
Obbligatorio? |
false |
Posizione? |
named |
Valore predefinito |
|
Accettare input da pipeline? |
false |
Accettare caratteri jolly? |
false |
-Authority <string>
Specifica l'autorità da utilizzare per autenticare la connessione WMI. È possibile specificare l'autenticazione NTLM o Kerberos standard. Per utilizzare NTLM, impostare l'autorità su ntlmdomain:<NomeDominio>, dove <NomeDominio> identifica un nome di dominio NTLM valido. Per utilizzare Kerberos, specificare kerberos:<NomeDominio>\<NomeServer>". Non è possibile includere l'impostazione authority quando ci si connette al computer locale.
Obbligatorio? |
false |
Posizione? |
named |
Valore predefinito |
|
Accettare input da pipeline? |
false |
Accettare caratteri jolly? |
false |
-Classe <string>
Specifica il nome di una classe WMI.
Obbligatorio? |
true |
Posizione? |
1 |
Valore predefinito |
|
Accettare input da pipeline? |
false |
Accettare caratteri jolly? |
false |
-ComputerName <string[]>
Specifica il computer in cui si desidera eseguire l'operazione di gestione. Il valore può essere un nome di dominio completo, un nome NetBIOS o un indirizzo IP. Utilizzare il nome del computer locale, localhost o un punto (.) per specificare il computer locale. Il valore predefinito è il computer locale. Quando il computer remoto si trova in un dominio diverso da quello dell'utente, è necessario utilizzare un nome di dominio completo. È possibile impostare il valore di questo parametro reindirizzando il valore al parametro.
Questo parametro non si basa sulla comunicazione remota di Windows PowerShell che utilizza WS-Management. È possibile utilizzare il parametro ComputerName di Get-WmiObject anche se il computer non è configurato per l'esecuzione di comandi remoti di WS-Management.
Obbligatorio? |
false |
Posizione? |
named |
Valore predefinito |
|
Accettare input da pipeline? |
false |
Accettare caratteri jolly? |
false |
-Credential <PSCredential>
Specifica un account utente con autorizzazione per l'esecuzione di questa azione. Il valore predefinito è l'utente corrente. Digitare un nome utente, ad esempio "Utente01", "Dominio01\Utente01" o Utente@Contoso.com. In alternativa, immettere un oggetto PSCredential, ad esempio quello restituito dal cmdlet Get-Credential. Quando si digita un nome utente, viene richiesta una password.
Obbligatorio? |
false |
Posizione? |
named |
Valore predefinito |
|
Accettare input da pipeline? |
false |
Accettare caratteri jolly? |
false |
-EnableAllPrivileges
Abilita tutti i privilegi dell'utente corrente prima che il comando effettui la chiamata WMI.
Obbligatorio? |
false |
Posizione? |
named |
Valore predefinito |
|
Accettare input da pipeline? |
false |
Accettare caratteri jolly? |
false |
-Impersonation <ImpersonationLevel>
Specifica il livello di rappresentazione da utilizzare. I valori validi sono:
0: Default (legge il Registro di sistema locale per il livello di rappresentazione predefinito, in genere impostato su "3: Impersonate").
1: Anonymous (nasconde le credenziali del chiamante).
2: Identify (consente agli oggetti di eseguire query delle credenziali del chiamante).
3: Impersonate (consente agli oggetti di utilizzare le credenziali del chiamante).
4: Delegate (consente agli oggetti di permettere ad altri oggetti di utilizzare le credenziali del chiamante).
Obbligatorio? |
false |
Posizione? |
named |
Valore predefinito |
|
Accettare input da pipeline? |
false |
Accettare caratteri jolly? |
false |
-InputObject <ManagementObject>
Specifica un oggetto ManagementObject da utilizzare come input. Quando viene utilizzato questo parametro, tutti gli altri parametri tranne Arguments vengono ignorati.
Obbligatorio? |
true |
Posizione? |
named |
Valore predefinito |
|
Accettare input da pipeline? |
true (ByValue) |
Accettare caratteri jolly? |
false |
-Locale <string>
Specifica le impostazioni locali preferite per gli oggetti WMI. Il parametro Locale viene specificato in una matrice nel formato MS_<LCID> nell'ordine preferito.
Obbligatorio? |
false |
Posizione? |
named |
Valore predefinito |
|
Accettare input da pipeline? |
false |
Accettare caratteri jolly? |
false |
-Spazio dei nomi <string>
Quando viene utilizzato con il parametro Class, questo parametro specifica lo spazio dei nomi dell'archivio WMI in cui si trova la classe a cui si fa riferimento.
Obbligatorio? |
false |
Posizione? |
named |
Valore predefinito |
|
Accettare input da pipeline? |
false |
Accettare caratteri jolly? |
false |
-Path <string>
Specifica il percorso di un oggetto WMI all'istanza che si desidera creare o aggiornare.
Obbligatorio? |
true |
Posizione? |
named |
Valore predefinito |
|
Accettare input da pipeline? |
false |
Accettare caratteri jolly? |
false |
-PutType <PutType>
Indica se l'istanza WMI deve essere creata o aggiornata. I valori validi sono:
UpdateOnly: aggiorna un'istanza WMI esistente.
CreateOnly: crea una nuova istanza WMI.
UpdateOrCreate: aggiorna l'istanza WMI se esiste, in caso contrario crea una nuova istanza.
Obbligatorio? |
false |
Posizione? |
named |
Valore predefinito |
|
Accettare input da pipeline? |
false |
Accettare caratteri jolly? |
false |
-ThrottleLimit <int>
Consente all'utente di specificare un valore di limitazione per il numero di operazioni WMI (Strumentazione gestione Windows) che è possibile eseguire contemporaneamente. Questo parametro viene utilizzato insieme al parametro AsJob. Il limite di velocità si applica solo al comando corrente, non alla sessione o al computer.
Obbligatorio? |
false |
Posizione? |
named |
Valore predefinito |
|
Accettare input da pipeline? |
false |
Accettare caratteri jolly? |
false |
-Confirm
Chiede una conferma prima di eseguire il comando.
Obbligatorio? |
false |
Posizione? |
named |
Valore predefinito |
|
Accettare input da pipeline? |
false |
Accettare caratteri jolly? |
false |
-WhatIf
Descrive ciò che accadrebbe se si eseguisse il comando senza eseguirlo realmente.
Obbligatorio? |
false |
Posizione? |
named |
Valore predefinito |
|
Accettare input da pipeline? |
false |
Accettare caratteri jolly? |
false |
<CommonParameters>
Questo cmdlet supporta i parametri comuni -Verbose, -Debug, -ErrorAction, -ErrorVariable, -OutBuffer e -OutVariable. Per ulteriori informazioni, vedere about_Commonparameters.
Input e output
Il tipo di input è il tipo degli oggetti che è possibile reindirizzare al cmdlet. Il tipo restituito è il tipo degli oggetti restituiti dal cmdlet.
Input |
Nessuno Questo cmdlet non accetta alcun input. |
Output |
Nessuno Questo cmdlet non genera alcun output. |
Esempio 1
C:\PS>Set-WMIInstance -class Win32_WMISetting -argument @{LoggingLevel=2}
__GENUS : 2
__CLASS : Win32_WMISetting
__SUPERCLASS : CIM_Setting
__DYNASTY : CIM_Setting
__RELPATH : Win32_WMISetting=@
__PROPERTY_COUNT : 27
__DERIVATION : {CIM_Setting}
__SERVER : SYSTEM01
__NAMESPACE : root\cimv2
__PATH : \\SYSTEM01\root\cimv2:Win32_WMISetting=@
ASPScriptDefaultNamespace : \\root\cimv2
ASPScriptEnabled : False
AutorecoverMofs : {%windir%\system32\wbem\cimwin32.mof, %windir%\system32\wbem\ncprov.mof, %windir%\syst
em32\wbem\wmipcima.mof, %windir%\system32\wbem\secrcw32.mof...}
AutoStartWin9X :
BackupInterval :
BackupLastTime :
BuildVersion : 6001.18000
Caption :
DatabaseDirectory : C:\Windows\system32\wbem\repository
DatabaseMaxSize :
Description :
EnableAnonWin9xConnections :
EnableEvents : False
EnableStartupHeapPreallocation : False
HighThresholdOnClientObjects :
HighThresholdOnEvents : 20000000
InstallationDirectory : C:\Windows\system32\wbem
LastStartupHeapPreallocation :
LoggingDirectory : C:\Windows\system32\wbem\Logs\
LoggingLevel : 2
LowThresholdOnClientObjects :
LowThresholdOnEvents : 10000000
MaxLogFileSize : 65536
MaxWaitOnClientObjects :
MaxWaitOnEvents : 2000
MofSelfInstallDirectory :
SettingID :
Descrizione
-----------
Con questo comando viene impostato il livello di registrazione WMI su 2. Il comando passa la proprietà da impostare e il valore (considerati congiuntamente 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
C:\PS>set-wmiinstance -class win32_environment -argument @{Name="testvar";VariableValue="testvalue";UserName="<SYSTEM>"}
__GENUS : 2
__CLASS : Win32_Environment
__SUPERCLASS : CIM_SystemResource
__DYNASTY : CIM_ManagedSystemElement
__RELPATH : Win32_Environment.Name="testvar",UserName="<SYSTEM>"
__PROPERTY_COUNT : 8
__DERIVATION : {CIM_SystemResource, CIM_LogicalElement, CIM_ManagedSystemElement}
__SERVER : SYSTEM01
__NAMESPACE : root\cimv2
__PATH : \\SYSTEM01\root\cimv2:Win32_Environment.Name="testvar",UserName="<SYSTEM>"
Caption : <SYSTEM>\testvar
Description : <SYSTEM>\testvar
InstallDate :
Name : testvar
Status : OK
SystemVariable : True
UserName : <SYSTEM>
VariableValue : testvalue
Descrizione
-----------
Con questo comando viene creata la variabile di ambiente testvar che dispone del valore "testvalue." Questa operazione viene eseguita creando una nuova istanza della classe WMI Win32_Environment. Si noti che questa operazione richiede credenziali appropriate e che potrebbe essere necessario riavviare Windows PowerShell per visualizzare la nuova variabile di ambiente.
Esempio 3
C:\PS>Set-WMIInstance -class Win32_WMISetting -argument @{LoggingLevel=2} -computername system01, system02, system03
__GENUS : 2
__CLASS : Win32_WMISetting
__SUPERCLASS : CIM_Setting
__DYNASTY : CIM_Setting
__RELPATH : Win32_WMISetting=@
__PROPERTY_COUNT : 27
__DERIVATION : {CIM_Setting}
__SERVER : SYSTEM01
__NAMESPACE : root\cimv2
__PATH : \\SYSTEM01\root\cimv2:Win32_WMISetting=@
ASPScriptDefaultNamespace : \\root\cimv2
ASPScriptEnabled : False
AutorecoverMofs : {%windir%\system32\wbem\cimwin32.mof, %windir%\system32\wbem\ncprov.mof, %windir%\syst
em32\wbem\wmipcima.mof, %windir%\system32\wbem\secrcw32.mof...}
AutoStartWin9X :
BackupInterval :
BackupLastTime :
BuildVersion : 6001.18000
Caption :
DatabaseDirectory : C:\Windows\system32\wbem\repository
DatabaseMaxSize :
Description :
EnableAnonWin9xConnections :
EnableEvents : False
EnableStartupHeapPreallocation : False
HighThresholdOnClientObjects :
HighThresholdOnEvents : 20000000
InstallationDirectory : C:\Windows\system32\wbem
LastStartupHeapPreallocation :
LoggingDirectory : C:\Windows\system32\wbem\Logs\
LoggingLevel : 2
LowThresholdOnClientObjects :
LowThresholdOnEvents : 10000000
MaxLogFileSize : 65536
MaxWaitOnClientObjects :
MaxWaitOnEvents : 2000
MofSelfInstallDirectory :
SettingID :
...
Descrizione
-----------
Con questo comando viene impostato il livello di registrazione WMI su 2. Il comando passa la proprietà da impostare e il valore (considerati congiuntamente 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.
Vedere anche
Concetti
Get-WmiObject
Invoke-WmiMethod
Remove-WmiObject
Get-WSManInstance
Invoke-WSManAction
New-WSManInstance
Remove-WSManInstance