Im Folgenden wird gezeigt, wie man Systemvariablen in PowerShell ausliest und setzt. Dies ist besonders nützlich, um den PATH oder andere Umgebungsvariablen für den Benutzer oder das gesamte System zu ändern.
Um den aktuellen Wert einer Umgebungsvariablen (z. B. Path) auszulesen, kann folgender Befehl verwendet werden:
[System.Environment]::GetEnvironmentVariable("Path", [System.EnvironmentVariableTarget]::Machine)
Beispiel für den Benutzer:
[System.Environment]::GetEnvironmentVariable("Path", [System.EnvironmentVariableTarget]::User)
Um den Wert einer Umgebungsvariablen zu setzen, wird folgender Befehl genutzt:
$newPath = "C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\WINDOWS\System32\WindowsPowerShell\v1.0\"
[System.Environment]::SetEnvironmentVariable("Path", $newPath, [System.EnvironmentVariableTarget]::Machine)
[System.Environment]::SetEnvironmentVariable("Path", $newPath, [System.EnvironmentVariableTarget]::User)
[System.Environment]::SetEnvironmentVariable("Path", $newPath, [System.EnvironmentVariableTarget]::Process)
Tipp: Wenn du den bestehenden Wert erweitern möchtest, kannst du den aktuellen Wert auslesen und an den neuen Wert anhängen:
$currentPath = [System.Environment]::GetEnvironmentVariable("Path", [System.EnvironmentVariableTarget]::Machine)
$newPath = $currentPath + ";C:\Neuer\Pfad"
[System.Environment]::SetEnvironmentVariable("Path", $newPath, [System.EnvironmentVariableTarget]::Machine)