Set-WmiInstance
Crea o aggiorna un'istanza di una classe di Strumentazione gestione Windows (WMI) esistente.
Sintassi
Set-WmiInstance
[-Class] <String>
[-Arguments <Hashtable>]
[-PutType <PutType>]
[-AsJob]
[-Impersonation <ImpersonationLevel>]
[-Authentication <AuthenticationLevel>]
[-Locale <String>]
[-EnableAllPrivileges]
[-Authority <String>]
[-Credential <PSCredential>]
[-ThrottleLimit <Int32>]
[-ComputerName <String[]>]
[-Namespace <String>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Set-WmiInstance
-InputObject <ManagementObject>
[-Arguments <Hashtable>]
[-PutType <PutType>]
[-AsJob]
[-ThrottleLimit <Int32>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Set-WmiInstance
-Path <String>
[-Arguments <Hashtable>]
[-PutType <PutType>]
[-AsJob]
[-Impersonation <ImpersonationLevel>]
[-Authentication <AuthenticationLevel>]
[-Locale <String>]
[-EnableAllPrivileges]
[-Authority <String>]
[-Credential <PSCredential>]
[-ThrottleLimit <Int32>]
[-ComputerName <String[]>]
[-Namespace <String>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Set-WmiInstance
[-PutType <PutType>]
[-AsJob]
[-Impersonation <ImpersonationLevel>]
[-Authentication <AuthenticationLevel>]
[-Locale <String>]
[-EnableAllPrivileges]
[-Authority <String>]
[-Credential <PSCredential>]
[-ThrottleLimit <Int32>]
[-ComputerName <String[]>]
[-Namespace <String>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Set-WmiInstance
[-PutType <PutType>]
[-AsJob]
[-Impersonation <ImpersonationLevel>]
[-Authentication <AuthenticationLevel>]
[-Locale <String>]
[-EnableAllPrivileges]
[-Authority <String>]
[-Credential <PSCredential>]
[-ThrottleLimit <Int32>]
[-ComputerName <String[]>]
[-Namespace <String>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Set-WmiInstance
[-PutType <PutType>]
[-AsJob]
[-Impersonation <ImpersonationLevel>]
[-Authentication <AuthenticationLevel>]
[-Locale <String>]
[-EnableAllPrivileges]
[-Authority <String>]
[-Credential <PSCredential>]
[-ThrottleLimit <Int32>]
[-ComputerName <String[]>]
[-Namespace <String>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Descrizione
Il Set-WmiInstance
cmdlet 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 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). in questo modo i cmdlet possono usare le stesse tecniche per gestire i computer basati su Windows e quelli che eseguono altri sistemi operativi. Invece di usare Set-WmiInstance
, è consigliabile usare i cmdlet Set-CimInstance o New-CimInstance .
Esempio
Esempio 1: Impostare il livello di registrazione WMI
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 :
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 @{property = value}
costruzione. Le informazioni sulla classe restituite riflettono il nuovo valore.
Esempio 2: Creare una variabile di ambiente e il relativo valore
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
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
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 :
...
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 @{property = value}
costruzione. Le informazioni sulla classe restituite riflettono il nuovo valore.
Parametri
-Arguments
Specifica il nome della proprietà da modificare e il nuovo valore per la 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. Ad esempio:
@{Setting1=1; Setting2=5; Setting3="test"}
Tipo: | Hashtable |
Alias: | Args, Property |
Posizione: | Named |
Valore predefinito: | None |
Necessario: | False |
Accettare l'input della pipeline: | False |
Accettare caratteri jolly: | False |
-AsJob
Indica che questo cmdlet viene eseguito come processo in background. Usare questo parametro per eseguire comandi il cui completamento richiede molto tempo.
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 mentre il processo viene completato. Se viene utilizzato 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 Receive-Job
cmdlet .
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 usando 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.
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 che deve essere utilizzato con 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.
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 cmdlet Get-Credential . Se si digita un nome utente, questo cmdlet richiede una password.
Questo parametro non è supportato da alcun provider installato con il parametro non è supportato da alcun provider installato con Windows PowerShell.
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, tutti gli altri parametri, ad eccezione del parametro Arguments, 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 Locale viene specificato in una 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 un percorso oggetto WMI dell'istanza che si desidera creare o aggiornare.
Tipo: | String |
Posizione: | Named |
Valore predefinito: | None |
Necessario: | True |
Accettare l'input della pipeline: | False |
Accettare caratteri jolly: | False |
-PutType
Indica se creare o aggiornare l'istanza WMI. I valori validi per questo parametro sono:
UpdateOnly
Aggiorna un'istanza WMI esistente.CreateOnly
Crea una nuova istanza WMI.UpdateOrCreate
Aggiorna l'istanza WMI se esiste o crea una nuova istanza se un'istanza non esiste.
Tipo: | PutType |
Valori accettati: | None, UpdateOnly, CreateOnly, UpdateOrCreate |
Posizione: | Named |
Valore predefinito: | None |
Necessario: | False |
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
None
Questo cmdlet non accetta input.
Output
None
Questo cmdlet non genera output.
Note
Windows PowerShell include gli alias seguenti per Set-WmiInstance
:
swmi