PowerShell: So setzt du Umgebungsvariablen richtig

Wenn du in PowerShell arbeitest, stößt du früher oder später auf den Begriff Umgebungsvariable. Egal ob für Pfade, Tokens, oder temporäre Einstellungen – Umgebungsvariablen sind ein wichtiger Bestandteil der Windows-Administration.

Diese Anleitung zeigt dir, wie du Umgebungsvariablen in PowerShell setzt ausliest und worauf du achten solltest – besonders im Hinblick auf Sitzungsdauer und Permanenz.

Was sind Umgebungsvariablen?

Umgebungsvariablen sind Schlüssel-Wert-Paare, die Informationen über die Systemumgebung enthalten. Typische Beispiele:

  • PATH – Verzeichnisse für ausführbare Dateien
  • TEMP – temporäres Verzeichnis
  • USERNAME – aktueller Benutzer

Auch über die grafische Oberfläche unter Windows 11 kannst du dir die Umgebungsvariablen anzeigen lassen. Dazu öffnest du die Einstellungen und wechselst zu folgendem Pfad:

System – Advanced System Settings

Windows 11 Umgebungsvariablen in der GUI
In Windows 11 mit der GUI
Windows 11 Umgebungsvariablen in der GUI - Details
Windows 11 Umgebungsvariablen in der GUI – Details

Umgebungsvariable temporär setzen (nur für aktuelle PowerShell-Session)

Wenn du eine Variable nur für das aktuelle PowerShell-Fenster setzen möchtest, geht das ganz einfach so:

$env:MEINWERT = "Test123"

Du kannst das dann direkt prüfen:

echo $env:MEINWERT

Wichtig: Diese Variable verschwindet wieder, sobald du PowerShell schließt.

set environment variable powershell - manuell
set environment variable powershell – manuell

Permanentes Setzen (für zukünftige Sessions)

Wenn du willst, dass eine Umgebungsvariable dauerhaft gespeichert wird (z. B. auch nach Neustart), musst du sie im System oder Benutzerkontext setzen.

Nur für den aktuellen Benutzer:

[System.Environment]::SetEnvironmentVariable("Var-Name", "Wert","User")

Für das gesamte System (Admin-Rechte erforderlich!):

[System.Environment]::SetEnvironmentVariable("Var-Name", "Wert")

Tipp: Starte PowerShell als Administrator, wenn du systemweite Variablen setzen willst.

Variable auslesen

Du kannst den Wert jederzeit abrufen mit:

$env:Var-Name

Oder alternativ:

[System.Environment]::GetEnvironmentVariable("Var-Name")

Umgebungsvariable löschen

Natürlich kannst du Variablen auch wieder löschen. ?

[System.Environment]::SetEnvironmentVariable("MEINWERT", $null)

Vorsicht bei Systemvariablen

Wenn du an Variablen arbeitest, die vom System oder Programmen genutzt werden (z. B. PATH, TEMP), sei besonders vorsichtig:

  • Mach vorher ein Backup des Wertes
  • Teste in einer VM oder auf einem Testsystem
  • Setze ggf. nur im Benutzerkontext

Fazit und Ausblick

Mit PowerShell kannst du schnell und gezielt Umgebungsvariablen setzen, egal ob temporär oder dauerhaft. So steuerst du z. B. die Umgebung für eigene Skripte, Entwicklungsumgebungen oder Tools wie z. B. Visual Studio Code.

Merke:

  • $env:XYZ ist temporär (nur für die laufende Session)
  • [System.Environment]::SetEnvironmentVariable ist dauerhaft
  • Systemweite Änderungen benötigen administrative Rechte

Der Blogbetreiber und Autor: Markus Elsberger

Über den Autor

Mein Name ist Markus Elsberger und ich beschäftige mich mit der Administration von Windows und Linux-Systemen sowie mit diversen Themen bzgl. Netzwerktechnik. In meiner Lehrtätigkeit erstelle ich verschiedene Szenarien und teste auch verschiedene Konfigurationen, welche ich in diesem Blog festhalten möchte. -> Gern kannst du mich mit einem Kaffee unterstützen!


Kostenlose Befehlsreferenzen und E-Books
(Netzwerkanalyse, Benutzerverwaltung, Festplattenkonfiguration, u. v. m.)


Kommentar verfassen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Kostenlose E-Books für die IT-Administration

Steigere deine IT-Kompetenzen

Ebook - 10 Schritte nach der Windows Installation
Close the CTA

Windows 11, Windows Server, Docker, PowerShell Referenzen, Batch, Linux Terminal, 

u.v.m.