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 cmdlet crea o aggiorna un'istanza Set-WmiInstance 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). ciò consente ai cmdlet di usare le stesse tecniche per gestire i computer basati su Windows e quelli che eseguono altri sistemi operativi. Invece di usare , è consigliabile usare Set-WmiInstancei 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 considerato 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 valore testvalue. Questa operazione viene eseguita creando 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 considerato 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 alla riga di comando come tabella hash. Ad esempio:

@{Setting1=1; Setting2=5; Setting3="test"}

Type:Hashtable
Aliases:Args, Property
Position:Named
Default value:None
Accept pipeline input:False
Accept wildcard characters: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 usato 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, è necessario configurare i computer locali e remoti 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 Windows PowerShell, vedere about_Jobs e about_Remote_Jobs.

Type:SwitchParameter
Position:Named
Default value:None
Accept pipeline input:False
Accept wildcard characters:False
-Authentication

Specifica il livello di autenticazione che deve essere usato con la connessione WMI. I valori validi per questo parametro sono:

  • -1: invariato.
  • 0: valore predefinito.
  • 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.
Type:AuthenticationLevel
Accepted values:Default, None, Connect, Call, Packet, PacketIntegrity, PacketPrivacy, Unchanged
Position:Named
Default value:None
Accept pipeline input:False
Accept wildcard characters: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.

Type:String
Position:Named
Default value:None
Accept pipeline input:False
Accept wildcard characters:False
-Class

Specifica il nome di una classe WMI.

Type:String
Position:0
Default value:None
Accept pipeline input:False
Accept wildcard characters: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.

Type:String[]
Aliases:Cn
Position:Named
Default value:None
Accept pipeline input:False
Accept wildcard characters:False
-Confirm

Richiede la conferma dell'utente prima di eseguire il cmdlet.

Type:SwitchParameter
Aliases:cf
Position:Named
Default value:False
Accept pipeline input:False
Accept wildcard characters: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.

Type:PSCredential
Position:Named
Default value:None
Accept pipeline input:False
Accept wildcard characters:False
-EnableAllPrivileges

Indica che questo cmdlet abilita tutte le autorizzazioni dell'utente corrente prima del comando che effettua la chiamata WMI.

Type:SwitchParameter
Position:Named
Default value:None
Accept pipeline input:False
Accept wildcard characters:False
-Impersonation

Specifica il livello di rappresentazione da usare. I valori validi per questo parametro sono:

  • 0: valore predefinito. 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: identifica. Consente agli oggetti di eseguire query sulle credenziali del chiamante.
  • 3: rappresentazione. 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.
Type:ImpersonationLevel
Accepted values:Default, Anonymous, Identify, Impersonate, Delegate
Position:Named
Default value:None
Accept pipeline input:False
Accept wildcard characters:False
-InputObject

Specifica un oggetto ManagementObject da usare come input. Quando questo parametro viene usato, tutti gli altri parametri, ad eccezione del parametro Arguments, vengono ignorati .

Type:ManagementObject
Position:Named
Default value:None
Accept pipeline input:True
Accept wildcard characters:False
-Locale

Specifica le impostazioni locali preferite per gli oggetti WMI. Il parametro Impostazioni locali viene specificato in una matrice nel formato MS_<LCID> nell'ordine preferito.

Type:String
Position:Named
Default value:None
Accept pipeline input:False
Accept wildcard characters: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 Class .

Type:String
Aliases:NS
Position:Named
Default value:None
Accept pipeline input:False
Accept wildcard characters:False
-Path

Specifica un percorso dell'oggetto WMI dell'istanza che si vuole creare o aggiornare.

Type:String
Position:Named
Default value:None
Accept pipeline input:False
Accept wildcard characters:False
-PutType

Indica se creare o aggiornare l'istanza WMI. I valori validi per questo parametro sono:

  • UpdateOnlyAggiornamenti un'istanza WMI esistente.
  • CreateOnly Crea una nuova istanza WMI.
  • UpdateOrCreateAggiornamenti'istanza WMI, se esistente o crea una nuova istanza se non esiste un'istanza.
Type:PutType
Accepted values:None, UpdateOnly, CreateOnly, UpdateOrCreate
Position:Named
Default value:None
Accept pipeline input:False
Accept wildcard characters: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.

Type:Int32
Position:Named
Default value:None
Accept pipeline input:False
Accept wildcard characters:False
-WhatIf

Mostra l'esito in caso di esecuzione del cmdlet. Il cmdlet non viene eseguito.

Type:SwitchParameter
Aliases:wi
Position:Named
Default value:False
Accept pipeline input:False
Accept wildcard characters:False

Input

None

Questo cmdlet non accetta input.

Output

None

Questo cmdlet non genera output.