Win32_Environment classe
La classe WMI Win32_Environment représente un paramètre d’environnement ou d’environnement système sur un système informatique Windows. L’interrogation de cette classe retourne des variables d’environnement trouvées dans :
HKEY_LOCAL_MACHINE\Système\Currentcontrolset\Contrôle\Sessionmanager\Environnement
et
\ HKEY_USERS <environnement utilisateur>\
La syntaxe suivante est simplifiée par rapport au code MOF (Managed Object Format) et inclut toutes les propriétés héritées. Les propriétés sont répertoriées dans l’ordre alphabétique, et non dans l’ordre MOF.
Syntaxe
[Dynamic, Provider("CIMWin32"), Privileges("SeRestorePrivilege"), UUID("{8502C4D2-5FBB-11D2-AAC1-006008C78BC7}"), SupportsCreate, CreateBy("PutInstance"), SupportsDelete, DeleteBy("DeleteInstance"), SupportsUpdate, AMENDMENT]
class Win32_Environment : CIM_SystemResource
{
string Caption;
string Description;
datetime InstallDate;
string Status;
string Name;
boolean SystemVariable;
string UserName;
string VariableValue;
};
Membres
La classe Win32_Environment comporte les types de membres suivants :
Propriétés
La classe Win32_Environment a ces propriétés.
-
Caption
-
-
Type de données : chaîne
-
Type d'accès : Lecture seule
-
Qualificateurs : MaxLen (64), DisplayName (« Caption »)
Brève description textuelle de l’objet.
Cette propriété est héritée de CIM_ManagedSystemElement.
-
-
Description
-
-
Type de données : chaîne
-
Type d'accès : Lecture seule
-
Qualificateurs : DisplayName (« Description »)
Description textuelle de l’objet.
Cette propriété est héritée de CIM_ManagedSystemElement.
-
-
InstallDate
-
-
Type de données : datetime
-
Type d'accès : Lecture seule
-
Qualificateurs : MappingStrings (« MIF. DMTF| ComponentID|001.5 »), DisplayName (« Date d’installation »)
Indique quand l’objet a été installé. L’absence d’une valeur n’indique pas que l’objet n’est pas installé.
Cette propriété est héritée de CIM_ManagedSystemElement.
-
-
Nom
-
-
Type de données : chaîne
-
Type d’accès : Lecture/écriture
-
Qualificateurs : Override (« Name »), key, MappingStrings (« Win32Registry | System\\CurrentControlSet\\Control\\Session Manager\\Environment »)
Chaîne de caractères qui spécifie le nom d’une variable d’environnement Windows. En spécifiant le nom d’une variable qui n’existe pas encore, une application crée une variable d’environnement.
Exemple : « Path »
-
-
État
-
-
Type de données : chaîne
-
Type d'accès : Lecture seule
-
Qualificateurs : MaxLen (10), DisplayName (« Status »)
Chaîne qui indique la status actuelle de l’objet. Les status opérationnelles et non opérationnelles peuvent être définies. Les status opérationnelles peuvent inclure « OK », « Détérioré » et « Échec anticipé ». « Échec anticipé » indique qu’un élément fonctionne correctement, mais qu’il prédit une défaillance (par exemple, un lecteur de disque dur compatible SMART).
Les status non opérationnelles peuvent inclure « Erreur », « Démarrage », « Arrêt » et « Service ». Le « service » peut s’appliquer pendant la miroir disque, le rechargement d’une liste d’autorisations utilisateur ou d’autres tâches administratives. Tous ces travaux ne sont pas en ligne, mais l’élément managé n’est ni « OK » ni dans l’un des autres états.
Cette propriété est héritée de CIM_ManagedSystemElement.
Les valeurs sont notamment les suivantes :
-
-
OK (« OK »)
-
Erreur (« Erreur »)
-
Détérioré (« Détérioré »)
-
Inconnu (« Inconnu »)
-
Échec de la préversion (« Échec prédé »)
-
Démarrage (« Démarrage »)
-
Arrêt (« Arrêt »)
-
Service (« Service »)
-
Stressé (« Stressé »)
-
NonRecover (« NonRecover »)
-
Aucun contact (« Aucun contact »)
-
Lost Comm (« Lost Comm »)
SystemVariable
-
Type de données : booléen
-
Type d'accès : Lecture seule
-
Qualificateurs : MappingStrings (« Win32Registry| System\\CurrentControlSet\\Control\\Session Manager\\Environment »)
Indique si la variable est une variable système. Une variable système est définie par le système d’exploitation et est indépendante des paramètres de l’environnement utilisateur.
UserName
-
Type de données : chaîne
-
Type d'accès : Lecture seule
-
Qualificateurs : key, MaxLen (260), MappingStrings (« Win32Registry| System\\CurrentControlSet\\Control\\Session Manager\\Environment »)
Nom du propriétaire du paramètre d’environnement. Elle est définie sur <SYSTEM> pour les paramètres spécifiques au système Windows (par opposition à un utilisateur spécifique) et <DEFAULT> pour les paramètres utilisateur par défaut.
Exemple : « JSmith »
VariableValue
-
Type de données : chaîne
-
Type d’accès : Lecture/écriture
-
Qualificateurs : MappingStrings (« Win32Registry| System\\CurrentControlSet\\Control\\Session Manager\\Environment »)
Variable d’espace réservé d’une variable d’environnement Windows. Des informations telles que le répertoire du système de fichiers peuvent changer d’ordinateur à ordinateur. Le système d’exploitation leur substitue des espaces réservés.
Exemple : « %SystemRoot% »
Notes
La classe Win32_Environment est dérivée de CIM_SystemResource. Vous pouvez utiliser cette classe pour rechercher les chemins d’accès de dossiers spéciaux tels que le dossier Système ou les fichiers programme sur un ordinateur distant. En voici quelques exemples : windir, systemroot, programfiles et userprofile. Win32_Environment retourne essentiellement ce qui se trouve dans :
HKEY_LOCAL_MACHINE\Système\Currentcontrolset\Contrôle\Sessionmanager\Environnement
et
\ HKEY_USERS <environnement utilisateur>\
Le processus appelant qui utilise cette classe doit avoir le privilège SE_RESTORE_NAME sur l’ordinateur sur lequel réside le Registre. Par exemple, si vous énumérez cette classe sur l’ordinateur local, le compte sous lequel votre application s’exécute doit disposer de ce privilège. Pour plus d’informations, consultez Exécution d’opérations privilégiées.
Exemples
L’exemple List Environment Variables on a Computer Perl utilise WMI pour retourner des informations sur toutes les variables d’environnement sur un ordinateur.
L’exemple de code VBScript suivant énumère les variables d’environnement sur l’ordinateur local.
strComputer = "."
Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2")
Set colVar = objWMIService.ExecQuery("Select * from Win32_Environment")
For Each objVar in colVar
Wscript.Echo "Description: " & objVar.Description & VBNewLine _
& "Name: " & objVar.Name & VBNewLine _
& "System Variable: " & objVar.SystemVariable & VBNewLine _
& "User Name: " & objVar.UserName & VBNewLine _
& "Variable Value: " & objVar.VariableValue
Next
L’exemple de code VBScript suivant modifie une variable d’environnement nommée BUILD_TYPE en une entrée de valeur par l’utilisateur. Le script suppose que la variable BUILD_TYPE existe déjà. S’il n’existe pas, le script se termine. La valeur d’entrée est vérifiée : elle doit être « Build1 », « Build2 » ou « Build3 », et aucune autre valeur n’est acceptée. La fonction UCase VBScript rend l’entrée non sensible à la casse. Si ce qui est tapé dans n’est pas l’une des trois valeurs acceptables, le script se termine.
On Error Resume Next
strComputer = "."
Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2")
Set colItems = objWMIService.ExecQuery("Select * from Win32_Environment")
Found = False
For Each objItem in colItems
If objItem.Name = "BUILD_TYPE" Then
Found = True
Change = UCase(InputBox("BUILD_TYPE currently = " & objItem.VariableValue & VBNewLine _
& "Change options are Build1, Build2, Build3 "))
If UCase(Change) = "BUILD1" OR Change = "BUILD2" OR Change = "BUILD3" Then
objItem.VariableValue = Change
objItem.Put_
WScript.Echo "BUILD_TYPE changed to " & objItem.VariableValue
Else
WScript.Echo "No input or unacceptable input." & " No change to BUILD_TYPE"
End If
End If
Next
If Found = False Then
WScript.Echo "User-defined environment variable BUILD_TYPE not found."
End If
Spécifications
Condition requise | Valeur |
---|---|
Client minimal pris en charge |
Windows Vista |
Serveur minimal pris en charge |
Windows Server 2008 |
Espace de noms |
Racine\CIMV2 |
MOF |
|
DLL |
|