Umgebungsvariablen mit PowerShell festlegen
- Was sind Umgebungsvariablen
-
Setzen Sie eine Umgebungsvariable mit
Env:
in PowerShell -
Legen Sie die .NET-Klasse
[System.Environment]
in PowerShell fest - Aktualisieren Sie die Umgebungsvariablen in der aktuellen PowerShell-Sitzung
Die Verwendung von Windows PowerShell zum Festlegen von Windows-Umgebungsvariablen, zum Lesen von Umgebungsvariablen und zum Erstellen neuer Umgebungsvariablen ist einfach, sobald wir die ordnungsgemäße Ausführung von Befehlen kennen.
PowerShell bietet viele verschiedene Methoden zur Interaktion mit Windows-Umgebungsvariablen aus dem PSDrive $env:
und der .NET-Klasse [System.Environment]
. In diesem Artikel wird das Festlegen von Umgebungsvariablen und deren Aktualisierung in unserer aktuellen Sitzung mit PowerShell erläutert.
Was sind Umgebungsvariablen
Wie der Name schon sagt, speichern Umgebungsvariablen Informationen über Windows- und Anwendungsumgebungen.
Wir können auf Umgebungsvariablen über eine grafische Oberfläche wie Windows Explorer und Texteditoren wie Notepad, cmd.exe und PowerShell zugreifen.
Die Verwendung von Umgebungsvariablen hilft uns, Dateipfade, Benutzer- oder Computernamen und mehr in unseren PowerShell-Skripts oder -Modulen fest zu codieren.
Setzen Sie eine Umgebungsvariable mit Env:
in PowerShell
Wir können neue Umgebungsvariablen mit PowerShell erstellen, indem wir das Cmdlet New-Item
verwenden. Geben Sie jedoch zunächst den Namen der Umgebungsvariablen im Format Env:\<EnvVarName>
für den Parameter Value
an, wie unten gezeigt.
Beispielcode:
New-Item -Path Env:\TEST -Value WIN10-DESKTOP
Ausgang:
Name Value
---- -----
TEST WIN10-DESKTOP
Wir können das Cmdlet Set-Item
verwenden, um eine Umgebungsvariable zu setzen oder eine neue zu erstellen, falls sie noch nicht existiert. Zum Beispiel können wir unten mit dem Cmdlet Set-Item
sehen.
Wir können eine Umgebungsvariable sowohl erstellen als auch ändern.
Beispielcode:
Set-Item -Path Env:TEST -Value "TestValue"
Legen Sie die .NET-Klasse [System.Environment]
in PowerShell fest
Die [System.Environment]
verwendet einige verschiedene Methoden der statischen .NET-Klasse. Wir müssen nicht verstehen, was ein statischer Weg ist.
Wir müssen nur verstehen, eine der Techniken zu verwenden, die wir gleich lernen werden, und wir müssen zuerst auf die Klasse ([System.Environment]
) verweisen, gefolgt von zwei Doppelpunkten (::
), gefolgt von der Methode .
Um die Umgebungsvariable mithilfe der angegebenen .NET-Klasse festzulegen, verwenden Sie die Funktion SetEnvironmentVariable()
, um den Wert einer vorhandenen Umgebungsvariablen für den angegebenen Bereich festzulegen, oder erstellen Sie eine neue Umgebungsvariable, falls diese noch nicht vorhanden ist.
Beim Festlegen von Variablen im Prozessbereich stellen wir fest, dass der Prozessbereich flüchtig ist und in der aktuellen Sitzung vorhanden ist, während Änderungen an den Benutzer- und Maschinenbereichen dauerhaft sind.
Beispielcode:
[System.Environment]::SetEnvironmentVariable('TestVariable','TestValue','User')
Aktualisieren Sie die Umgebungsvariablen in der aktuellen PowerShell-Sitzung
Um unseren neuen Satz von Umgebungsvariablen in unserer PowerShell-Sitzung zu verwenden, rufen Sie die Umgebungsvariable des Benutzerprofils und des Computers über die .NET-Klasse ab und weisen Sie sie der PowerShell-Umgebungsvariablen zu.
Da Umgebungsvariablen auch als PowerShell-Variablen gelten, können wir ihnen direkt einfacher Werte zuweisen.
Beispielcode:
$env:PATH = [System.Environment]::GetEnvironmentVariable("Path","Machine") + ";" + [System.Environment]::GetEnvironmentVariable("Path","User")
Marion specializes in anything Microsoft-related and always tries to work and apply code in an IT infrastructure.
LinkedIn