Partager via


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
CIMWin32.mof
DLL
CIMWin32.dll

Voir aussi

CIM_SystemResource

Classes du système d’exploitation