Was ist das Windows-Äquivalent zum Unix-Befehl „whoami“?

72

Gibt es ein Windows-Äquivalent zum Unix-Befehl "whoami"? Wenn ja, was ist das?

Pennen
quelle
2
Ja, es gibt und es ist auch whoami
DeepSpace101
Verwenden Sie den Befehl "query session", um eine Liste der derzeit angemeldeten oder getrennten Terminaldienste zu erhalten, Benutzer
Martin

Antworten:

73

Seit Windows 2000 ist der whoamiBefehl Teil der Standardbefehlszeile (danke an pk für das Aufräumen in Kommentaren!).

Sie können dies tun: Öffnen Sie eine Eingabeaufforderung und geben Sie "set" ein und drücken Sie die Eingabetaste. Hier werden aktive Umgebungsvariablen angezeigt. Der aktuell angemeldete Benutzername wird in der Variablen USERNAME env und Ihre Domain in der Variablen USERDOMAIN gespeichert.

Um die anderen Antworten aus einer cmd-Zeile herauszuholen:

echo %USERDOMAIN%\%USERNAME%

Sie erhalten den vollständigen angemeldeten Benutzer im Format Domäne \ Benutzername.

Mit Powershell können Sie dasselbe tun:

write-host $env:userdomain\$env:username
Squillman
quelle
1
+1 für den Bildungsaspekt und für die
Angabe
@squillman Wie kann ich diese Funktion aktivieren, wenn ich als Systembenutzer eine Eingabeaufforderung ausführe? In diesem Fall gibt es keine Umgebungsvariable wie% USERDOMAIN% oder% USERNAME%
GianT971
@ GianT971 Meinst du LocalSystem? Es gibt keine Möglichkeit für dieses Konto, da es keinem angemeldeten Benutzer zugeordnet ist. In der Regel wird dieses Konto für Dienste verwendet. Wenn ein Dienst als LocalSystem ausgeführt wird, übernimmt er den Sicherheitskontext des Dienststeuerungs-Managers.
Squillman
Okay. Ja das ist, was ich meinte. Möglicherweise ist es mit den neuesten Versionen von PowerShell möglich, dass beim Ausführen einer .NET-App, die Environment.Username unter dem Konto LocalSystem aufruft, das Ergebnis "System" lautet. Aber ich habe mir PowerShell
GianT971 am
@ GianT971 Sie können Cmd- oder Powershell-Prozesse erzeugen und Skripts ausführen, aber Sie erhalten keine interaktive Shell.
Squillman
16

Hier werden die meisten der Informationen angezeigt, die alle anderen sagen. Sie können jedoch auch einfach nur tippen

SET U

Es werden alle Umgebungsvariablen zurückgegeben, die mit U beginnen.

Abgesehen davon kann SET L nützlich sein, um Probleme mit dem Anmeldeserver zu beheben.

Dayton Brown
quelle
1
Manchmal sieht man nur Tipps, die geteilt werden müssen, diese beiden sind großartig.
Wannen
5

ECHO% USERNAME%

ggponti
quelle
5

Von der Kommandozeile? "echo% username%" sollte es tun. Der angemeldete Benutzer wird in der Umgebungsvariablen "Benutzername" gespeichert.

In einer grafischen Sitzung zeigt Strg-Alt-Entf einen Bildschirm mit dem angemeldeten Benutzer an.

sysadmin1138
quelle
5

Dies hängt von Ihrem Betriebssystem ab, der whoami-Befehl ist jedoch im Windows 2000 Resource Kit und in den Windows XP SP2-Supporttools enthalten .

RedFilter
quelle
2
+1 Auch standardmäßig in Vista + verfügbar
Oskar Duveborn
aha, ich dachte ich hätte vor kurzem whoami auf meinem laptop zu hause benutzt, ich denke es hat funktioniert, weil es Vista war. hier bei der Arbeit bin ich auf XP
Kip
3

Die oben genannten Informationen beziehen sich auf das Betriebssystem und bieten bessere Antworten. Der Vollständigkeit halber gibt es jedoch buchstäblich eine whoami.exe in den 2000- und XP-Supporttools. Bei 32 KB wäre es einfach, die Gruppenrichtlinien zu implementieren, wenn Sie sich für diesen Befehl entschieden hätten.

Kara Marfia
quelle
1

Geben Sie in der Autoexec oder an einer DOS-Eingabeaufforderung prompt% USERDOMAIN% \% USERNAME% $ p $ g ein . Sie werden sehen, als wen Sie angemeldet sind, und die typische Eingabeaufforderung sieht folgendermaßen aus: DOMAIM \ Benutzername C:>

user156428
quelle