Win32_Environment-Klasse

Die Win32_EnvironmentWMI-Klasse stellt eine Umgebungs- oder Systemumgebungseinstellung auf einem Windows-Computersystem dar. Das Abfragen dieser Klasse gibt Umgebungsvariablen zurück, die in gefunden wurden:

HKEY_LOCAL_MACHINE\System\Currentcontrolset\Steuerung\Sessionmanager\Umgebung

und

HKEY_USERS\<Benutzerumgebung>\

Die folgende Syntax wurde aus MOF-Code (Managed Object Format, verwaltetes Objektformat) vereinfacht und enthält alle geerbten Eigenschaften. Eigenschaften werden in alphabetischer Reihenfolge und nicht in MOF-Reihenfolge aufgeführt.

Syntax

[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;
};

Member

Die Win32_Environment-Klasse verfügt über folgende Membertypen:

Eigenschaften

Die Win32_Environment-Klasse verfügt über diese Eigenschaften.

Caption

Datentyp: string

Zugriffstyp: Schreibgeschützt

Qualifizierer: MaxLen (64), DisplayName ("Caption")

Eine kurze Textbeschreibung des Objekts.

Diese Eigenschaft wird von CIM_ManagedSystemElement geerbt.

Beschreibung

Datentyp: string

Zugriffstyp: Schreibgeschützt

Qualifizierer: DisplayName ("Description")

Eine Textbeschreibung des Objekts.

Diese Eigenschaft wird von CIM_ManagedSystemElement geerbt.

InstallDate

Datentyp: datetime

Zugriffstyp: Schreibgeschützt

Qualifizierer: MappingStrings ("MIF. DMTF| ComponentID|001.5"), DisplayName ("Installationsdatum")

Gibt an, wann das Objekt installiert wurde. Das Fehlen eines Werts gibt nicht an, dass das Objekt nicht installiert ist.

Diese Eigenschaft wird von CIM_ManagedSystemElement geerbt.

Name

Datentyp: string

Zugriffstyp: Lese-/Schreibzugriff

Qualifizierer: Außerkraftsetzung ("Name"), Schlüssel, MappingStrings ("Win32Registry| System\\CurrentControlSet\\Control\\Session Manager\\Environment")

Zeichenfolge, die den Namen einer Windows-basierten Umgebungsvariablen angibt. Durch Angeben des Namens einer Variablen, die noch nicht vorhanden ist, erstellt eine Anwendung eine neue Umgebungsvariable.

Beispiel: "Path"

Status

Datentyp: string

Zugriffstyp: Schreibgeschützt

Qualifizierer: MaxLen (10), DisplayName ("Status")

Zeichenfolge, die die aktuelle status des Objekts angibt. Operative und nicht operative status können definiert werden. Operative status können "OK", "Degraded" und "Pred Fail" enthalten. "Pred Fail" gibt an, dass ein Element ordnungsgemäß funktioniert, aber einen Fehler vorhersagt (z. B. eine SMART-fähige Festplatte).

Nicht betriebsbereite status können "Error", "Starting", "Stopping" und "Service" enthalten. "Dienst" kann während der Datenträger-Spiegel-Resilvering, beim erneuten Laden einer Benutzerberechtigungsliste oder bei anderen administrativen Aufgaben angewendet werden. Nicht alle derartigen Arbeiten sind online, aber das verwaltete Element ist weder "OK" noch in einem der anderen Zustände.

Diese Eigenschaft wird von CIM_ManagedSystemElement geerbt.

Folgende Werte sind gültig:

OK ("OK")

Fehler ("Fehler")

Degraded ("Degraded")

Unbekannt ("Unbekannt")

Pred Fail ("Pred Fail")

Wird gestartet ("Wird gestartet")

Beenden ("Wird beendet")

Dienst ("Dienst")

Gestresst ("Gestresst")

NonRecover ("NonRecover")

Kein Kontakt ("Kein Kontakt")

Lost Comm ("Lost Comm")

SystemVariable

Datentyp: boolean

Zugriffstyp: Schreibgeschützt

Qualifizierer: MappingStrings ("Win32Registry| System\\CurrentControlSet\\Control\\Session Manager\\Environment")

Gibt an, ob die Variable eine Systemvariable ist. Eine Systemvariable wird vom Betriebssystem festgelegt und ist unabhängig von den Einstellungen der Benutzerumgebung.

UserName

Datentyp: string

Zugriffstyp: Schreibgeschützt

Qualifizierer: key, MaxLen (260), MappingStrings ("Win32Registry| System\\CurrentControlSet\\Control\\Session Manager\\Environment")

Name des Besitzers der Umgebungseinstellung. Für Einstellungen, die für das Windows-basierte System (im Gegensatz zu einem bestimmten Benutzer) spezifisch sind, ist die Einstellung SYSTEM und <für Standardbenutzereinstellungen auf DEFAULT>> festgelegt<.

Beispiel: "JSmith"

VariableValue

Datentyp: string

Zugriffstyp: Lese-/Schreibzugriff

Qualifizierer: MappingStrings ("Win32Registry| System\\CurrentControlSet\\Control\\Session Manager\\Environment")

Platzhaltervariable einer Windows-basierten Umgebungsvariablen. Informationen wie das Dateisystemverzeichnis können von Computer zu Computer wechseln. Das Betriebssystem ersetzt diese Platzhalter.

Beispiel: "%SystemRoot%"

Bemerkungen

Die Win32_Environment-Klasse wird von CIM_SystemResource abgeleitet. Sie können diese Klasse verwenden, um die Pfade von speziellen Ordnern wie dem Systemordner oder den Programmdateien auf einem Remotecomputer zu suchen. Einige Beispiele sind: windir, systemroot, programfiles und userprofile. Win32_Environment gibt im Wesentlichen zurück, was in gefunden werden kann:

HKEY_LOCAL_MACHINE\System\Currentcontrolset\Steuerung\Sessionmanager\Umgebung

und

HKEY_USERS\<Benutzerumgebung>\

Der aufrufende Prozess, der diese Klasse verwendet, muss über die SE_RESTORE_NAME Berechtigung auf dem Computer verfügen, auf dem sich die Registrierung befindet. Wenn Sie diese Klasse beispielsweise auf dem lokalen Computer aufzählen, muss das Konto, unter dem Ihre Anwendung ausgeführt wird, über diese Berechtigung verfügen. Weitere Informationen finden Sie unter Ausführen von privilegierten Vorgängen.

Beispiele

Im Beispiel Auflisten von Umgebungsvariablen auf einem Computer perl wird WMI verwendet, um Informationen zu allen Umgebungsvariablen auf einem Computer zurückzugeben.

Im folgenden VBScript-Codebeispiel werden die Umgebungsvariablen auf dem lokalen Computer aufgelistet.

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

Im folgenden VBScript-Codebeispiel wird eine Umgebungsvariable namens BUILD_TYPE in eine Werteingabe des Benutzers geändert. Das Skript geht davon aus, dass die BUILD_TYPE Variable bereits vorhanden ist. Wenn es nicht vorhanden ist, wird das Skript beendet. Der Eingabewert wird überprüft: Er muss entweder "Build1", "Build2" oder "Build3" sein, und es wird kein anderer Wert akzeptiert. Bei der VBScript-UCase-Funktion wird die Groß-/Kleinschreibung bei der Eingabe nicht beachtet. Wenn das eingegebene Element nicht einer der drei zulässigen Werte ist, endet das Skript.

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

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client)
Windows Vista
Unterstützte Mindestversion (Server)
WindowsServer 2008
Namespace
Root\CIMV2
MOF
CIMWin32.mof
DLL
CIMWin32.dll

Siehe auch

CIM_SystemResource

Betriebssystemklassen