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




Argomenti della Guida