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