about_Environment_Provider
Anbietername
Environment
Laufwerke
Env:
Capabilities
ShouldProcess
Kurze Beschreibung
Bietet Zugriff auf die Windows-Umgebungsvariablen.
Detaillierte Beschreibung
Mit dem PowerShell-Umgebungsanbieter können Sie Umgebungsvariablen und -werte in PowerShell abrufen, hinzufügen, ändern, löschen und löschen.
Umgebungsvariablen werden dynamisch benannte Variablen, die die Umgebung beschreiben, in der Ihre Programme ausgeführt werden. Windows und PowerShell verwenden Umgebungsvariablen, um persistente Informationen zu speichern, die sich auf die System- und Prozessausführung auswirken. Im Gegensatz zu PowerShell-Variablen unterliegen Umgebungsvariablen keinen Bereichseinschränkungen.
Das Umgebungslaufwerk ist ein flacher Namespace, der die Umgebungsvariablen enthält, die für die Sitzung des aktuellen Benutzers spezifisch sind. Die Umgebungsvariablen weisen keine untergeordneten Elemente auf.
Der Umgebungsanbieter unterstützt die folgenden Cmdlets, die in diesem Artikel behandelt werden.
Typen, die von diesem Anbieter verfügbar gemacht werden
Jede Umgebungsvariable ist eine Instanz der System.Collections.DictionaryEntry-Klasse . Der Name der Variablen ist der Wörterbuchschlüssel. Der Wert der Umgebungsvariablen ist der Wörterbuchwert.
Navigieren im Umgebungslaufwerk
Der Umgebungsanbieter macht seinen Datenspeicher auf dem Env:
Laufwerk verfügbar. Wenn Sie mit Umgebungsvariablen arbeiten möchten, ändern Sie Ihren Speicherort auf das Env:
Laufwerk (Set-Location Env:
), oder arbeiten Sie von einem anderen PowerShell-Laufwerk aus. Um von einem anderen Speicherort aus auf eine Umgebungsvariable zu verweisen, verwenden Sie den Env:
Laufwerknamen im Pfad.
Set-Location Env:
Um zu einem Dateisystemlaufwerk zurückzukehren, geben Sie den Namen des Laufwerks ein. Beispiel:
Set-Location C:
Sie können auch mit dem Umgebungsanbieter von jedem anderen PowerShell-Laufwerk aus arbeiten. Um von einem anderen Speicherort aus auf eine Umgebungsvariable zu verweisen, verwenden Sie den Laufwerknamen Env:
im Pfad.
Der Umgebungsanbieter macht außerdem Umgebungsvariablen unter Verwendung eines Variablenpräfixes verfügbar $env:
. Der folgende Befehl zeigt den Inhalt der Umgebungsvariable "ProgramFiles " an. Das $env:
Variablepräfix kann von jedem Beliebigen PowerShell-Laufwerk verwendet werden.
PS C:\> $env:ProgramFiles
C:\Program Files
Sie können auch den Wert einer Umgebungsvariable mithilfe des $env:
Variablenpräfixes ändern. Alle vorgenommenen Änderungen beziehen sich nur auf die aktuelle PowerShell-Sitzung, solange sie aktiv ist.
Hinweis
PowerShell verwendet Aliase, damit Sie mit Anbieterpfaden vertraut arbeiten können. Befehle wie dir
z. B. aliase ls
für "Get-ChildItemcd
" sind ein Alias für "Set-Location". und pwd
ist ein Alias für "Get-Location".
Abrufen von Umgebungsvariablen
Dieser Befehl listet alle Umgebungsvariablen in der aktuellen Sitzung auf.
Get-Item -Path Env:
Sie können diesen Befehl von jedem Beliebigen PowerShell-Laufwerk aus verwenden.
Der Umgebungsanbieter hat keine Container, sodass der obige Befehl bei Verwendung mit Get-ChildItem
.
Get-ChildItem -Path Env:
Abrufen einer ausgewählten Umgebungsvariable
Dieser Befehl ruft die WINDIR
Umgebungsvariable ab.
Get-ChildItem -Path Env:windir
Sie können auch das Variablepräfixformat verwenden.
$env:windir
Erstellen einer Umgebungsvariablen
Mit diesem Befehl wird die USERMODE
Umgebungsvariable mit dem Wert "Non-Admin" erstellt. Der -Path
Parameterwert erstellt das neue Element im Env:
Laufwerk. Die neue Umgebungsvariable kann nur in der aktuellen PowerShell-Sitzung verwendet werden, solange sie aktiv ist.
PS C:\> New-Item -Path Env: -Name USERMODE -Value Non-Admin
Ändern einer Umgebungsvariable
Umbenennen einer Umgebungsvariable
Dieser Befehl verwendet das Rename-Item
Cmdlet, um den Namen der USERMODE
Von Ihnen erstellten Umgebungsvariablen zu USERROLE
ändern. Ändern Sie nicht den Namen einer Umgebungsvariablen, die das System verwendet. Obwohl diese Änderungen nur die aktuelle Sitzung betreffen, bewirken sie möglicherweise, dass das System oder ein Programm nicht korrekt arbeitet.
Rename-Item -Path Env:USERMODE -NewName USERROLE
Ändern einer Umgebungsvariable
Dieser Befehl verwendet das Set-Item
Cmdlet, um den Wert der Umgebungsvariable USERROLE
in "Administrator" zu ändern.
Set-Item -Path Env:USERROLE -Value Administrator
Kopieren einer Umgebungsvariable
Dieser Befehl kopiert den Wert der USERROLE
Umgebungsvariablen in die USERROLE2
Umgebungsvariable.
Copy-Item -Path Env:USERROLE -Destination Env:USERROLE2
Entfernen einer Umgebungsvariable
Mit diesem Befehl wird die USERROLE2
Umgebungsvariable aus der aktuellen Sitzung gelöscht.
Remove-Item -Path Env:USERROLE2
Entfernen einer Umgebungsvariable mit Clear-Item
Mit diesem Befehl wird die USERROLE
Umgebungsvariable gelöscht, indem der Wert gelöscht wird.
Clear-Item -Path Env:USERROLE
Verwenden der Pipeline
Anbieter-Cmdlets akzeptieren Pipelineeingaben. Sie können die Aufgabe mithilfe der Pipeline vereinfachen, indem Sie Anbieterdaten von einem Cmdlet an ein anderes Anbieter-Cmdlet senden. Weitere Informationen zur Verwendung der Pipeline mit Anbieter-Cmdlets finden Sie in den Cmdlet-Referenzen in diesem Artikel.
Hilfe
Ab Windows PowerShell 3.0 können Sie benutzerdefinierte Hilfethemen für Anbieter-Cmdlets abrufen, die erläutern, wie sich diese Cmdlets in einem Dateisystemlaufwerk verhalten.
Um die Hilfethemen abzurufen, die für das Dateisystemlaufwerk angepasst sind, führen Sie einen Get-Help-Befehl auf einem Dateisystemlaufwerk aus, oder verwenden Sie den -Path
Parameter " Get-Help ", um ein Dateisystemlaufwerk anzugeben.
Get-Help Get-ChildItem
Get-Help Get-ChildItem -Path env: