PowerShell whoami – gibt es das? Wenn du dich als angehender IT-Administrator mit PowerShell beschäftigst, wirst du früher oder später auf die Frage stoßen: „Unter welchem Benutzer läuft mein Skript eigentlich?“ Oder anders gesagt: Wer bin ich?
In der Eingabeaufforderung (cmd) nutzen viele dafür den Befehl whoami. Doch in der PowerShell gibt es bessere und vor allem native Alternativen, die dir nicht nur den Benutzernamen, sondern auch die Domäne und andere Informationen liefern können.
1. $env:USERNAME – Schnell & einfach
$env:USERNAME

Vorteile:
- Sehr schnell
- Kein Zusatzwissen nötig
- Ideal für lokale Skripte
Nachteil:
- Zeigt nur den Benutzernamen, z. B.
Administrator - Keine Domäne oder SID
2. System.Security.Principal.WindowsIdentityGetCurrent().Name – Der Profi-Weg
[System.Security.Principal.WindowsIdentity]::GetCurrent().Name

Vorteile:
- Liefert Domäne + Benutzername
- Sehr zuverlässig, da auf .NET-API basierend
- Ideal für Skripte in Domänenumgebungen
Beispielausgabe:
MARKUSELSBE75A7\markus
3. EnvironmentUserDomainName + Environment::UserName
[Environment]::UserDomainName + "\" + [Environment]::UserName

Vorteile:
- Einfach kombinierbar
- Gut lesbar
- Ebenfalls .NET-basiert
4. whoami – Der Klassiker (aber kein Cmdlet)
whoami
Vorteil:
- Bekannt aus CMD
- Funktioniert auch in PowerShell
Nachteil:
- Kein echtes PowerShell-Cmdlet
- In reinen PowerShell-Umgebungen nicht empfehlenswert
Übersicht: Welche Methode wann?
| Methode | Ergebnis | Enthält Domäne? | PowerShell-nativ? |
|---|---|---|---|
$env:USERNAME
|
Administrator
| ❌ | ✅ |
[System.Security.Principal.WindowsIdentity]::GetCurrent().Name
|
DOMAIN\Benutzer
| ✅ | ✅ (mit .NET) |
[Environment]::UserDomainName + "\" + [Environment]::UserName
|
DOMAIN\Benutzer
| ✅ | ✅ (mit .NET) |
whoami
|
DOMAIN\Benutzer
| ✅ | ❌ (CMD-Tool) |
Empfehlung für den Admin-Alltag
Wenn du PowerShell in professionellen Umgebungen verwendest, solltest du zu folgender Methode greifen:
[System.Security.Principal.WindowsIdentity]::GetCurrent().Name
Warum?
- Du bekommst immer den vollständigen Benutzer
- Du bist unabhängig von Sprache und Region
- Du kannst das Ergebnis weiterverarbeiten (z. B. vergleichen, protokollieren, prüfen)
SID des aktuellen Benutzers anzeigen
Die SID (Security Identifier) ist ein eindeutiger Bezeichner, den Windows jedem Benutzer-, Gruppen- oder Computerkonto zuweist.
Sie dient der internen Identifikation in sicherheitsrelevanten Prozessen – etwa bei Berechtigungen, Gruppenmitgliedschaften oder Zugriffsprüfungen. Auch wenn ein Benutzer denselben Namen erhält, bleibt die SID eindeutig und systemrelevant.
IT-Administratoren nutzen die SID u. a. beim Auswerten von ACLs oder in der Registry (z. B. unter HKU für Benutzerprofile). Mit folgender Codezeile lässt sich die SID eines bestimmten Benutzers auslesen.
[System.Security.Principal.WindowsIdentity]::GetCurrent().User.Value

Fazit
Die PowerShell bietet dir viele Möglichkeiten, um den aktuell angemeldeten Benutzer zu ermitteln – viel flexibler als der einfache whoami-Befehl. Für kleine Skripte reicht $env:USERNAME. Für professionelle Aufgaben greifst du lieber zu .NET-Methoden, wie WindowsIdentity.
Tipp: Speichere dir die bevorzugte Variante als kleine Funktion oder Alias – so hast du sie immer schnell parat!









