Partager via


Set-WmiInstance

Crée ou met à jour une instance d'une classe WMI (Windows Management Instrumentation) existante.

Syntaxe

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>]

Description

L’applet Set-WmiInstance de commande crée ou met à jour une instance d’une classe WMI (Windows Management Instrumentation) existante. L'instance créée ou mise à jour est écrite dans l'espace de stockage WMI.

De nouvelles applets de commande CIM, introduites dans Windows PowerShell 3.0, effectuent les mêmes tâches que les applets de commande WMI. Les applets de commande CIM sont conformes aux normes WS-Management (WSMan) et à la norme CIM (Common Information Model). Cela permet aux applets de commande d’utiliser les mêmes techniques pour gérer les ordinateurs Windows et ceux qui exécutent d’autres systèmes d’exploitation. Au lieu d’utiliser Set-WmiInstance, envisagez d’utiliser les applets de commande Set-CimInstance ou New-CimInstance .

Exemples

Exemple 1 : Définir le niveau de journalisation 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                      :

Cette commande affecte la valeur 2 au niveau de journalisation WMI. La commande transmet la propriété à définir et la valeur, ensemble considérée comme une paire valeur, dans le paramètre d’argument. Le paramètre prend une table de hachage définie par la @{property = value} construction. Les informations de classe qui sont retournées reflètent la nouvelle valeur.

Exemple 2 : Créer une variable d’environnement et sa valeur

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

Cette commande crée la variable d’environnement testvar qui a la valeur testvalue. Pour ce faire, créez une instance de la classe WMI Win32_Environment . Cette opération nécessite des informations d’identification appropriées et que vous devrez peut-être redémarrer Windows PowerShell pour voir la nouvelle variable d’environnement.

Exemple 3 : Définir le niveau de journalisation WMI pour plusieurs ordinateurs distants

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                      :
...

Cette commande affecte la valeur 2 au niveau de journalisation WMI. La commande transmet la propriété à définir et la valeur, ensemble considérée comme une paire valeur, dans le paramètre d’argument. Le paramètre prend une table de hachage définie par la @{property = value} construction. L'information de classe retournée reflète la nouvelle valeur.

Paramètres

-Arguments

Spécifie le nom de la propriété à modifier et la nouvelle valeur pour cette propriété. Le nom et la valeur doivent être une paire nom-valeur. La paire nom-valeur est transmise sur la ligne de commande en tant que table de hachage. Par exemple :

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

Type:Hashtable
Alias:Args, Property
Position:Named
Valeur par défaut:None
Obligatoire:False
Accepter l'entrée de pipeline:False
Accepter les caractères génériques:False

-AsJob

Indique que cette applet de commande s’exécute en tant que travail en arrière-plan. Utilisez ce paramètre pour exécuter des commandes dont l'exécution nécessite beaucoup de temps.

Lorsque vous spécifiez le paramètre AsJob , la commande retourne un objet qui représente le travail en arrière-plan, puis affiche l’invite de commandes. Vous pouvez continuer à travailler dans la session pendant l'exécution de la tâche. Si elle est utilisée pour un ordinateur distant, le travail est créé sur l’ordinateur local et les résultats des ordinateurs distants sont automatiquement retournés à l’ordinateur local. Pour gérer le travail, utilisez les applets de commande qui contiennent le nom du travail (applets de commande job ). Pour obtenir les résultats du travail, utilisez l’applet Receive-Job de commande.

Pour utiliser ce paramètre avec les ordinateurs distants, les ordinateurs locaux et distants doivent être configurés pour la communication à distance. En outre, vous devez démarrer Windows PowerShell à l’aide de l’option Exécuter en tant qu’administrateur dans Windows Vista et versions ultérieures du système d’exploitation Windows. Pour plus d’informations, consultez about_Remote_Requirements.

Pour plus d’informations sur les travaux en arrière-plan Windows PowerShell, consultez about_Jobs et about_Remote_Jobs.

Type:SwitchParameter
Position:Named
Valeur par défaut:None
Obligatoire:False
Accepter l'entrée de pipeline:False
Accepter les caractères génériques:False

-Authentication

Spécifie le niveau d’authentification qui doit être utilisé avec la connexion WMI. Les valeurs valides pour ce paramètre sont :

  • -1:Inchangé.
  • 0 : valeur par défaut.
  • 1:Aucun. Aucune authentification n’est effectuée.
  • 2:Relier. L’authentification est effectuée uniquement lorsque le client établit une relation avec l’application.
  • 3:Appeler. L’authentification est effectuée uniquement au début de chaque appel lorsque l’application reçoit la demande.
  • 4:Paquet. L’authentification est effectuée sur toutes les données reçues du client.
  • 5: PacketIntegrity. Toutes les données transférées entre le client et l’application sont authentifiées et vérifiées.
  • 6: PacketPrivacy. Les propriétés des autres niveaux d’authentification sont utilisées et toutes les données sont chiffrées.
Type:AuthenticationLevel
Valeurs acceptées:Default, None, Connect, Call, Packet, PacketIntegrity, PacketPrivacy, Unchanged
Position:Named
Valeur par défaut:None
Obligatoire:False
Accepter l'entrée de pipeline:False
Accepter les caractères génériques:False

-Authority

Spécifie l'autorité à utiliser pour authentifier la connexion WMI. Vous pouvez spécifier l'authentification Kerberos ou NTLM standard. Pour utiliser NTLM, définissez le paramètre d’autorité sur ntlmdomain :<DomainName, où <DomainName>> identifie un nom de domaine NTLM valide. Pour utiliser Kerberos, spécifiez kerberos :<DomainName>\<ServerName>. Vous ne pouvez pas inclure le paramètre d'autorité lorsque vous vous connectez à l'ordinateur local.

Type:String
Position:Named
Valeur par défaut:None
Obligatoire:False
Accepter l'entrée de pipeline:False
Accepter les caractères génériques:False

-Class

Spécifie le nom d'une classe WMI.

Type:String
Position:0
Valeur par défaut:None
Obligatoire:True
Accepter l'entrée de pipeline:False
Accepter les caractères génériques:False

-ComputerName

Spécifie le nom de l’ordinateur sur lequel s’exécute cette applet de commande. La valeur par défaut est l'ordinateur local.

Tapez le nom NetBIOS, une adresse IP ou un nom de domaine complet d'un ou de plusieurs ordinateurs. Pour spécifier l’ordinateur local, tapez le nom de l’ordinateur, un point (.) ou un localhost.

Ce paramètre ne s'appuie pas sur la communication à distance Windows PowerShell. Vous pouvez utiliser le paramètre ComputerName même si votre ordinateur n’est pas configuré pour exécuter des commandes distantes.

Type:String[]
Alias:Cn
Position:Named
Valeur par défaut:None
Obligatoire:False
Accepter l'entrée de pipeline:False
Accepter les caractères génériques:False

-Confirm

Vous demande une confirmation avant d’exécuter l’applet de commande.

Type:SwitchParameter
Alias:cf
Position:Named
Valeur par défaut:False
Obligatoire:False
Accepter l'entrée de pipeline:False
Accepter les caractères génériques:False

-Credential

Spécifie un compte d’utilisateur qui a l’autorisation d’exécuter cette action. La valeur par défaut est l’utilisateur actuel.

Tapez un nom d’utilisateur, tel que User01 ou Domain01\User01, ou entrez un objet PSCredential , tel qu’un objet généré par l’applet de commande Get-Credential. Si vous tapez un nom d’utilisateur, cette applet de commande demande un mot de passe.

Ce paramètre n’est pas pris en charge par les fournisseurs installés avec le paramètre n’est pas pris en charge par les fournisseurs installés avec Windows PowerShell.

Type:PSCredential
Position:Named
Valeur par défaut:None
Obligatoire:False
Accepter l'entrée de pipeline:False
Accepter les caractères génériques:False

-EnableAllPrivileges

Indique que cette applet de commande active toutes les autorisations de l’utilisateur actuel avant la commande qu’elle effectue l’appel WMI.

Type:SwitchParameter
Position:Named
Valeur par défaut:None
Obligatoire:False
Accepter l'entrée de pipeline:False
Accepter les caractères génériques:False

-Impersonation

Spécifie le niveau d'emprunt d'identité à utiliser. Les valeurs valides pour ce paramètre sont :

  • 0 : valeur par défaut. Lit le Registre local pour le niveau d’emprunt d’identité par défaut, qui est généralement défini sur 3 : Emprunt d’identité.
  • 1:Anonyme. Masque les informations d'identification de l'appelant.
  • 2:Identifier. Permet aux objets d'interroger les informations d'identification de l'appelant.
  • 3:Usurper. Permet aux objets d'utiliser les informations d'identification de l'appelant.
  • 4:Déléguer. Permet aux objets d'autoriser d'autres objets à utiliser les informations d'identification de l'appelant.
Type:ImpersonationLevel
Valeurs acceptées:Default, Anonymous, Identify, Impersonate, Delegate
Position:Named
Valeur par défaut:None
Obligatoire:False
Accepter l'entrée de pipeline:False
Accepter les caractères génériques:False

-InputObject

Spécifie un objet ManagementObject à utiliser comme entrée. Lorsque ce paramètre est utilisé, tous les autres paramètres, à l’exception du paramètre Arguments, sont ignorés .

Type:ManagementObject
Position:Named
Valeur par défaut:None
Obligatoire:True
Accepter l'entrée de pipeline:True
Accepter les caractères génériques:False

-Locale

Spécifie les paramètres régionaux par défaut pour les objets WMI. Le paramètre Paramètres régionaux est spécifié dans un tableau au format MS_<LCID> dans l’ordre préféré.

Type:String
Position:Named
Valeur par défaut:None
Obligatoire:False
Accepter l'entrée de pipeline:False
Accepter les caractères génériques:False

-Namespace

Spécifie l’espace de noms du référentiel WMI où se trouve la classe WMI référencée lorsqu’elle est utilisée avec le paramètre Class .

Type:String
Alias:NS
Position:Named
Valeur par défaut:None
Obligatoire:False
Accepter l'entrée de pipeline:False
Accepter les caractères génériques:False

-Path

Spécifie un chemin d’accès d’objet WMI de l’instance que vous souhaitez créer ou mettre à jour.

Type:String
Position:Named
Valeur par défaut:None
Obligatoire:True
Accepter l'entrée de pipeline:False
Accepter les caractères génériques:False

-PutType

Indique s’il faut créer ou mettre à jour l’instance WMI. Les valeurs valides pour ce paramètre sont :

  • UpdateOnly Met à jour une instance WMI existante.
  • CreateOnly Crée une instance WMI.
  • UpdateOrCreate Met à jour l’instance WMI s’il existe ou crée une nouvelle instance si une instance n’existe pas.
Type:PutType
Valeurs acceptées:None, UpdateOnly, CreateOnly, UpdateOrCreate
Position:Named
Valeur par défaut:None
Obligatoire:False
Accepter l'entrée de pipeline:False
Accepter les caractères génériques:False

-ThrottleLimit

Spécifie le nombre maximal de connexions simultanées qui peuvent être établies pour exécuter cette commande. Ce paramètre est utilisé avec le paramètre AsJob . La limite d'accélération s'applique uniquement à la commande actuelle, et non à la session ou à l'ordinateur.

Type:Int32
Position:Named
Valeur par défaut:None
Obligatoire:False
Accepter l'entrée de pipeline:False
Accepter les caractères génériques:False

-WhatIf

Montre ce qui se passe en cas d’exécution de l’applet de commande. L’applet de commande n’est pas exécutée.

Type:SwitchParameter
Alias:wi
Position:Named
Valeur par défaut:False
Obligatoire:False
Accepter l'entrée de pipeline:False
Accepter les caractères génériques:False

Entrées

None

Cette applet de commande n'accepte aucune entrée.

Sorties

None

Cette applet de commande ne génère aucune sortie.

Notes

Windows PowerShell inclut les alias suivants pour Set-WmiInstance:

  • swmi