Sie sind auf Seite 1von 5

THEMA

about_Environment_Variables
KURZBESCHREIBUNG
Beschreibt den Zugriff auf Windows-Umgebungsvariablen in Windows
PowerShell.

DETAILBESCHREIBUNG
Umgebungsvariablen enthalten Informationen zur Betriebssystemumge-
bung. Dazu gehren Informationen wie der Pfad des Betriebssystems,
die Anzahl der vom Betriebssystem verwendeten Prozessoren sowie
der Speicherort der temporren Ordner.
In den Umgebungsvariablen werden Daten fr das Betriebssystem und
andere Programme gespeichert. Beispielsweise enthlt die
Umgebungsvariable WINDIR den Speicherort des Windows-Installations-
verzeichnisses. Der Wert dieser Variablen kann von Programmen
abgefragt werden, um den Speicherort der Windows-Betriebssystemda-
teien zu bestimmen.
Mit Windows PowerShell knnen Sie Windows-Umgebungsvariablen
anzeigen und ndern, einschlielich der in der Registrierung und
der fr bestimmte Sitzungen festgelegten Variablen. Der Windows
PowerShell-Umgebungsanbieter vereinfacht diesen Vorgang durch
leichteres Anzeigen und ndern der Umgebungsvariablen.

Im Gegensatz zu anderen Variablentypen in Windows PowerShell
werden Umgebungsvariablen und deren Werte von untergeordneten
Sitzungen geerbt, z. B. lokalen Hintergrundauftrgen und
Sitzungen, in denen die Modulelemente ausgefhrt werden. Dadurch
sind Umgebungsvariablen zum Speichern von Werten gut geeignet,
die in bergeordneten und untergeordneten Sitzungen bentigt werden.

Windows PowerShell-Umgebungsanbieter
Mit dem Windows PowerShell-Umgebungsanbieter knnen Sie auf
Windows-Umgebungsvariablen in Windows PowerShell auf einem
Windows PowerShell-Laufwerk (dem Laufwerk "Env:") zugreifen.
Dieses Laufwerk hnelt stark einem Dateisystemlaufwerk. Wenn
Sie zum Laufwerk "Env:" wechseln mchten, geben Sie Folgendes ein:
set-location env:
Wenn Sie anschlieend den Inhalt des Laufwerks "Env:" anzeigen
mchten, geben Sie Folgendes ein:
get-childitem
Sie knnen die Umgebungsvariablen auf dem Laufwerk "Env:" auf
jedem anderen Windows PowerShell-Laufwerk anzeigen, und Sie
knnen auf das Laufwerk "Env:" zugreifen, um die Umgebungsvaria-
blen anzuzeigen und zu ndern.
Umgebungsvariablenobjekte
Jede Umgebungsvariable in Windows PowerShell wird durch ein
Objekt dargestellt, das eine Instanz der System.Collections.
DictionaryEntry-Klasse ist.
In jedem DictionaryEntry-Objekt bildet der Name der
Umgebungsvariable den Wrterbuchschlssel. Der Wert der
Variablen bildet den Wrterbuchwert.
Zum Anzeigen einer Umgebungsvariable in Windows PowerShell
rufen Sie ein Objekt auf, das die Variable darstellt, und
zeigen Sie dann die Werte der Objekteigenschaften an. Sie
knnen die Umgebungsvariablen in Windows PowerShell ndern,
indem Sie die mit dem DictionaryEntry-Objekt verbundenen
Methoden verwenden.
Mit dem Cmdlet "Get-Member" knnen Sie die Eigenschaften und
Methoden des Objekts anzeigen, das eine Umgebungsvariable in
Windows PowerShell darstellt.
Beispielsweise knnen Sie mit folgendem Befehl die Methoden und
Eigenschaften aller Objekte auf dem Laufwerk "Env:" anzeigen:
get-item -path env:* | get-member
Anzeigen von Umgebungsvariablen
Sie knnen die Werte von Umgebungsvariablen mit den Cmdlets
anzeigen und ndern, die das Substantiv "Item" enthalten
(Item-Cmdlets). Da Umgebungsvariablen nicht ber untergeordnete
Elemente verfgen, ist die Ausgabe von "Get-Item" und
"Get-ChildItem" identisch.
Geben Sie beim Verweisen auf eine Umgebungsvariable den
Laufwerknamen "Env:", gefolgt vom Namen der Variablen, ein. Um
beispielsweise den Wert der Umgebungsvariablen COMPUTERNAME
anzuzeigen, geben Sie Folgendes ein:
get-childitem env:computername
Zum Anzeigen der Werte fr alle Umgebungsvariablen geben Sie
Folgendes ein:
get-childitem env:
Windows PowerShell zeigt die Umgebungsvariablen standardmig
in der Reihenfolge des Abrufs an. Sie knnen die Liste der
Umgebungsvariablen nach dem Variablennamen sortieren, indem Sie
die Ausgabe des Befehls "Get-ChildItem" ber die Pipeline an
das Cmdlet "Sort-Object" bergeben. Geben Sie beispielsweise
auf einem beliebigen Windows PowerShell-Laufwerk Folgendes ein:
get-childitem env: | sort name
Sie knnen auf das Laufwerk "Env:" auch ber das Cmdlet
"Set-Location" zugreifen:
set-location env:
Wenn Sie sich auf dem Laufwerk "Env:" befinden, knnen Sie den
Laufwerknamen im Pfad auslassen. So knnen Sie alle
Umgebungsvariablen anzeigen, indem Sie Folgendes eingeben:
get-childitem
Zum Anzeigen des Werts fr die Variable COMPUTERNAME auf dem
Laufwerk "Env:" geben Sie Folgendes ein:
get-childitem computername
Sie knnen Werte von Umgebungsvariablen auch ohne Cmdlets
anzeigen und ndern, indem Sie den Ausdrucksparser in Windows
PowerShell verwenden. Der Wert einer Umgebungsvariablen wird
mit folgender Syntax angezeigt:
$env:<Variablenname>
Um beispielsweise den Wert der Umgebungsvariablen WINDIR
anzuzeigen, geben Sie an der Eingabeaufforderung von Windows
PowerShell den folgenden Befehl ein:
$env:windir
In dieser Syntax gibt das Dollarzeichen ($) eine Variable und
der Laufwerkname eine Umgebungsvariable an.
ndern von Umgebungsvariablen
Eine permanente nderung an einer Umgebungsvariablen nehmen Sie
ber die Systemsteuerungsoption "System" (Registerkarte
"Erweitert" oder Element "Erweiterte Systemeinstellungen") vor,
sodass die nderung in der Registrierung gespeichert wird.
Wenn Sie Umgebungsvariablen in Windows PowerShell ndern, wirkt
sich die nderung nur auf die aktuelle Sitzung aus. Dieses
Verhalten hnelt dem des Befehls "Set" in Windows-basierten und
dem Befehl "Setenv" in UNIX-basierten Umgebungen.
Sie mssen auerdem ber die Berechtigung zum ndern der Werte
dieser Variablen verfgen. Wenn Sie ohne ausreichende
Berechtigungen versuchen, einen Wert zu ndern, verursacht der
Befehl einen Fehler, und es wird eine Fehlermeldung angezeigt.
Mit folgender Syntax knnen Sie die Werte von Variablen ohne
Cmdlets ndern:
$env:<Variablenname> = "<Neuer-Wert>"
Fgen Sie beispielsweise mit der folgenden Syntax ";c:\temp" an
den Wert der Umgebungsvariablen "Path" an:
$env:path = $env:path + ";c:\temp"
Sie knnen die Werte von Umgebungsvariablen auch mit den
Item-Cmdlets, z. B. Set-Item, Remove-Item und Copy-Item,
ndern. Wenn Sie beispielsweise mit dem Cmdlet "Set-Item" die
Zeichenfolge ";c:\temp" an den Wert der Umgebungsvariablen
"Path" anfgen mchten, verwenden Sie die folgende Syntax:
set-item -path env:path -value ($env:path + ";c:\temp")
Der Wert wird in diesem Befehl in Klammern eingeschlossen,
damit er als Einheit interpretiert wird.
Speichern von nderungen in Umgebungsvariablen
Zum Erstellen oder ndern des Werts fr eine Umgebungsvariable
in allen Windows PowerShell-Sitzungen fgen Sie die nderung
dem Windows PowerShell-Profil hinzu.
Wenn Sie zum Beispiel das Verzeichnis "C:\Temp" der
Path-Umgebungsvariable in allen Windows PowerShell-Sitzungen
hinzufgen mchten, fgen Sie dem Windows PowerShell-Profil den
folgenden Befehl hinzu.
$env:path = $env:path + ";c:\temp"
Wenn Sie den Befehl einem vorhandenen Profil, z. B.
CurrentUser,AllHosts, hinzufgen mchten, geben Sie Folgendes ein:
add-content -path $profile.CurrentUserAllHosts -value '$env:path = $en
v:path + ";c:\temp"'
Umgebungsvariablen zum Speichern von Einstellungen
Windows PowerShell-Features knnen Benutzereinstellungen in
Umgebungsvariablen speichern. Diese Variablen werden wie
Einstellungsvariablen verwendet, doch werden sie von
untergeordneten Sitzungen der Sitzungen geerbt, in denen sie
erstellt werden. Weitere Informationen zu Einstellungsvariablen
finden Sie unter "about_preference_variables".
In u. a. den folgenden Umgebungsvariablen knnen Einstellungen
gespeichert werden:
PSModulePath
Speichert die Pfade zu den Standardmodulverzeichnissen.
Wenn Sie keinen vollstndigen Pfad zu einem Modul
angeben, sucht Windows PowerShell in den angegebenen
Verzeichnissen nach Modulen.
$env:PSModulePath besitzt den folgenden Standardwert:
$home\Documents\WindowsPowerShell\Modules; $pshome\Modules
Windows PowerShell legt den Wert von "$pshome\Modules" in
der Registrierung fest.
Bei jedem Start von Windows PowerShell wird der Wert von
"$home\Documents\WindowsPowerShell\Modules" festgelegt.
Zudem fgen Setupprogramme, die Module in anderen
Verzeichnissen installieren, z. B. im Verzeichnis
"Programme", ihre Speicherorte an den Wert von
PSModulePath an.
Zum ndern der Standardmodulverzeichnisse ndern Sie den
Wert der Umgebungsvariablen "PSModulePath".
Wenn Sie dem Wert der Umgebungsvariable "PSModulePath"
zum Beispiel das Verzeichnis "C:\ps-test\Modules"
hinzufgen mchten, geben Sie Folgendes ein:
$env:PSModulePath = $env:PSModulePath + ";c:\ps-test\Modules"
Mit dem Semikolon (;) im Befehl wird der neue Pfad von
dem Pfad getrennt, der diesem in der Liste vorausgeht.
Die nderungen wirken sich auf nur die aktuelle Sitzung
aus, sofern Sie keinen Befehl hinzufgen, mit dem der
Wert in Ihrem Profil gendert wird, und Sie den Wert der
Umgebungsvariablen "PSModulePath" in der Registrierung
nicht ber die Option "System" der Systemsteuerung ndern.

Weitere Informationen finden Sie unter "about_Modules".
SIEHE AUCH
Umgebung (Anbieter)