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>] [-Authentication {<Default> | <None> | <Connect> | <Call> | <Packet> | <PacketIntegrity> | <PacketPrivacy> | <Unchanged>}] [-Authority <string>] [-ComputerName <string[]>] [-Credential <PSCredential>] [-EnableAllPrivileges] [-Impersonation {<Default> | <Anonymous> | <Identify> | <Impersonate> | <Delegate>}] [-Locale <string>] [-Namespace <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>] [-Namespace <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>] [-Namespace <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>] [-Namespace <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>] [-Namespace <string>] [-AsJob] [-PutType {<None> | <UpdateOnly> | <CreateOnly> | <UpdateOrCreate>}] [-ThrottleLimit <int>] [-Confirm] [-WhatIf] [<CommonParameters>]

Description

L'applet de commande Set-WmiInstance crée ou met à jour une instance d'une classe WMI existante. L'instance créée ou mise à jour est écrite dans le répertoire de stockage WMI.

Paramètres

-Arguments <hashtable>

Spécifie le nom de la propriété à modifier et la nouvelle valeur pour cette propriété. Le nom et la valeur doivent être dans une paire nom-valeur. La paire nom-valeur est passée sur la ligne de commande sous la forme d'une table de hachage. Par exemple :

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

Obligatoire ?

false

Position ?

2

Valeur par défaut

Accepter l'entrée de pipeline ?

false

Accepter les caractères génériques ?

false

-AsJob

Exécute la commande en tant que tâche en arrière-plan. Utilisez ce paramètre pour exécuter des commandes dont l'exécution nécessite beaucoup de temps.

Lorsque vous utilisez le paramètre AsJob, la commande retourne un objet qui représente la tâche 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 Set-WmiObject est utilisé sur un ordinateur distant, la tâche est créée sur l'ordinateur local, et les résultats provenant d'ordinateurs distants sont automatiquement retournés à l'ordinateur local. Pour gérer la tâche, utilisez les applets de commande contenant le nom Job (les applets de commande Job). Pour obtenir les résultats de la tâche, utilisez l'applet de commande Receive-Job.

Remarque : pour utiliser ce paramètre avec des ordinateurs distants, l'ordinateur local et l'ordinateur distant doivent être configurés pour la communication à distance. En outre, vous devez démarrer Windows PowerShell en utilisant l'option « Exécuter en tant qu'administrateur » dans Windows Vista et les versions ultérieures de Windows. Pour plus d'informations, consultez about_Remote_Requirements.

Pour plus d'informations sur les tâches en arrière-plan Windows PowerShell, consultez about_Jobs et about_Remote_Jobs.

Obligatoire ?

false

Position ?

named

Valeur par défaut

Accepter l'entrée de pipeline ?

false

Accepter les caractères génériques ?

false

-Authentication <AuthenticationLevel>

Spécifie le niveau d'authentification à utiliser avec la connexion WMI. Les valeurs valides sont :

-1 : Unchanged

0 : Default

1 : None (Aucune authentification n'est effectuée.)

2 : Connect (L'authentification est effectuée uniquement lorsque le client établit une relation avec l'application.)

3 : Call (L'authentification est effectuée uniquement au début de chaque appel, quand l'application reçoit une demande.)

4 : Packet (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.)

Obligatoire ?

false

Position ?

named

Valeur par défaut

Accepter l'entrée de pipeline ?

false

Accepter les caractères génériques ?

false

-Authority <string>

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

Obligatoire ?

false

Position ?

named

Valeur par défaut

Accepter l'entrée de pipeline ?

false

Accepter les caractères génériques ?

false

-Class <string>

Spécifie le nom d'une classe WMI.

Obligatoire ?

true

Position ?

1

Valeur par défaut

Accepter l'entrée de pipeline ?

false

Accepter les caractères génériques ?

false

-ComputerName <string[]>

Spécifie l'ordinateur sur lequel vous voulez exécuter l'opération de gestion. La valeur peut être un nom de domaine complet, un nom NetBIOS ou une adresse IP. Utilisez le nom de l'ordinateur local, localhost ou un point (.) pour spécifier l'ordinateur local. L'ordinateur local est la valeur par défaut. Lorsque l'ordinateur distant se trouve dans un domaine différent de l'utilisateur, vous devez utiliser un nom de domaine complet. Vous pouvez définir la valeur de ce paramètre en redirigeant la valeur vers le paramètre.

Ce paramètre ne s'appuie pas sur la communication à distance Windows PowerShell, laquelle utilise le service Gestion des services Web). Vous pouvez utiliser le paramètre ComputerName de Get-WmiObject même si votre ordinateur n'est pas configuré pour exécuter des commandes distantes du service Gestion des services Web.

Obligatoire ?

false

Position ?

named

Valeur par défaut

Accepter l'entrée de pipeline ?

false

Accepter les caractères génériques ?

false

-Credential <PSCredential>

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 », « Domain01\User01 » ou « User@Contoso.com ». Vous pouvez également entrer un objet PSCredential, tel qu'un objet qui est retourné par l'applet de commande Get-Credential. Lorsque vous tapez un nom d'utilisateur, vous êtes invité à entrer un mot de passe.

Obligatoire ?

false

Position ?

named

Valeur par défaut

Accepter l'entrée de pipeline ?

false

Accepter les caractères génériques ?

false

-EnableAllPrivileges

Active tous les privilèges de l'utilisateur actuel avant que la commande ne passe l'appel WMI.

Obligatoire ?

false

Position ?

named

Valeur par défaut

Accepter l'entrée de pipeline ?

false

Accepter les caractères génériques ?

false

-Impersonation <ImpersonationLevel>

Spécifie le niveau d'emprunt d'identité à utiliser. Les valeurs valides sont :

0 : Default (Lit le Registre local pour connaître le niveau d'emprunt d'identité par défaut, qui a généralement la valeur « 3 : Impersonate ».)

1 : Anonymous (Masque les informations d'identification de l'appelant.)

2 : Identify (Permet aux objets d'interroger les informations d'identification de l'appelant.)

3 : Impersonate (Permet aux objets d'utiliser les informations d'identification de l'appelant.)

4 : Delegate (Permet aux objets d'autoriser d'autres objets à utiliser les informations d'identification de l'appelant.)

Obligatoire ?

false

Position ?

named

Valeur par défaut

Accepter l'entrée de pipeline ?

false

Accepter les caractères génériques ?

false

-InputObject <ManagementObject>

Spécifie un objet ManagementObject à utiliser en entrée. Lorsque ce paramètre est utilisé, tous les autres paramètres (sauf Arguments) sont ignorés.

Obligatoire ?

true

Position ?

named

Valeur par défaut

Accepter l'entrée de pipeline ?

true (ByValue)

Accepter les caractères génériques ?

false

-Locale <string>

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

Obligatoire ?

false

Position ?

named

Valeur par défaut

Accepter l'entrée de pipeline ?

false

Accepter les caractères génériques ?

false

-Namespace <string>

Lorsqu'il est utilisé avec le paramètre Class, ce paramètre spécifie l'espace de noms du répertoire de stockage WMI dans lequel figure la classe WMI référencée.

Obligatoire ?

false

Position ?

named

Valeur par défaut

Accepter l'entrée de pipeline ?

false

Accepter les caractères génériques ?

false

-Path <string>

Spécifie le chemin d'accès de l'objet WMI vers l'instance que vous voulez créer ou mettre à jour.

Obligatoire ?

true

Position ?

named

Valeur par défaut

Accepter l'entrée de pipeline ?

false

Accepter les caractères génériques ?

false

-PutType <PutType>

Indique si l'instance WMI doit être créée ou mise à jour. Les valeurs valides sont :

UpdateOnly : met à jour une instance WMI existante.

CreateOnly : crée une instance WMI.

UpdateOrCreate : met à jour l'instance WMI si elle existe, ou crée une nouvelle instance s'il n'existe aucune instance.

Obligatoire ?

false

Position ?

named

Valeur par défaut

Accepter l'entrée de pipeline ?

false

Accepter les caractères génériques ?

false

-ThrottleLimit <int>

Permet à l'utilisateur de spécifier une valeur de limitation pour le nombre d'opérations WMI pouvant être exécutées simultanément. 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.

Obligatoire ?

false

Position ?

named

Valeur par défaut

Accepter l'entrée de pipeline ?

false

Accepter les caractères génériques ?

false

-Confirm

Vous invite à confirmer l'exécution de la commande.

Obligatoire ?

false

Position ?

named

Valeur par défaut

Accepter l'entrée de pipeline ?

false

Accepter les caractères génériques ?

false

-WhatIf

Décrit le résultat que vous obtiendriez en exécutant la commande, sans réellement l'exécuter.

Obligatoire ?

false

Position ?

named

Valeur par défaut

Accepter l'entrée de pipeline ?

false

Accepter les caractères génériques ?

false

<CommonParameters>

Cette applet de commande prend en charge les paramètres courants : -Verbose, -Debug, -ErrorAction, -ErrorVariable, -OutBuffer et -OutVariable. Pour plus d'informations, consultez about_Commonparameters.

Entrées et sorties

Le type d'entrée est le type des objets que vous pouvez diriger vers l'applet de commande. Le type de retour est le type des objets que l'applet de commande retourne.

Entrées

None

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

Sorties

None

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

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

Description
-----------
Cette commande définit le niveau de journalisation WMI sur 2. La commande passe la propriété à définir et la valeur (considérées ensemble comme une paire de valeur) dans le paramètre d'argument. Le paramètre prend une table de hachage qui est définie par la construction @{propriété = valeur}. Les informations de classe qui sont retournées reflètent la nouvelle valeur.





Exemple 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

Description
-----------
Cette commande crée la variable d'environnement testvar dont la valeur est « testvalue ». Cette opération passe par la création d'une instance de la classe WMI Win32_Environment. Notez que cette opération requiert des informations d'identification appropriées et que vous pourrez être amené à redémarrer Windows PowerShell pour afficher la nouvelle variable d'environnement.





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

...

Description
-----------
Cette commande définit le niveau de journalisation WMI sur 2. La commande passe la propriété à définir et la valeur (considérées ensemble comme une paire de valeur) dans le paramètre d'argument. Le paramètre prend une table de hachage qui est définie par la construction @{propriété = valeur}. L'informations de classe retournée reflète la nouvelle valeur.





Voir aussi

Concepts

Get-WmiObject
Invoke-WmiMethod
Remove-WmiObject
Get-WSManInstance
Invoke-WSManAction
New-WSManInstance
Remove-WSManInstance