Co to jest Windowsowy odpowiednik uniksowego polecenia „whoami”?

72

Czy w systemie Windows istnieje odpowiednik uniksowego polecenia „whoami”? Jeśli tak, co to jest?

Wyrko
źródło
2
Tak, jest i to też whoami
DeepSpace101
użyj polecenia „sesja zapytań”, aby uzyskać listę aktualnie zalogowanych lub odłączonych usług terminalowych, użytkownicy
Martin

Odpowiedzi:

73

Od Windows 2000 whoamipolecenie jest częścią standardowego wiersza poleceń (dzięki pk za wyczyszczenie tego w komentarzach!).

Możesz to zrobić: Otwórz wiersz polecenia i wpisz „set”, a następnie naciśnij klawisz Enter. Pokazuje aktywne zmienne środowiskowe. Bieżąca zalogowana nazwa użytkownika jest przechowywana w zmiennej env USERNAME, a Twoja domena jest przechowywana w zmiennej USERDOMAIN.

Aby piggy-back od innych odpowiedzi, z linii cmd:

echo %USERDOMAIN%\%USERNAME%

dostarczy ci pełnego zalogowanego użytkownika w formacie domena \ nazwa użytkownika.

Z Powershell możesz zrobić to samo:

write-host $env:userdomain\$env:username
squillman
źródło
1
+1 za aspekt edukacyjny oraz za włączenie domeny i nazwy użytkownika
tomjedrz
@squillman Jak sprawić, by działało to podczas uruchamiania wiersza polecenia jako użytkownik Sytem? Ponieważ w takim przypadku nie ma zmiennej środowiskowej, takiej jak% USERDOMAIN% lub% USERNAME%
GianT971
@ GianT971 Czy masz na myśli LocalSystem? Nie ma sposobu na to konto, ponieważ nie jest ono powiązane z zalogowanym użytkownikiem. Zwykle to konto jest używane w przypadku usług, a gdy usługa działa jako system lokalny, przyjmuje kontekst bezpieczeństwa menedżera kontroli usług.
squillman
Dobrze. Tak, o to mi chodziło. Być może w przypadku najnowszych wersji programu PowerShell jest to możliwe, ponieważ podczas uruchamiania aplikacji .NET wywołującej środowisko.Username na koncie LocalSystem, wynikiem jest „System”. Ale jeszcze nie przyjrzałem się PowerShell
GianT971
@ GianT971 Możesz spawnować procesy cmd lub powershell i uruchamiać skrypty, ale nie otrzymasz interaktywnej powłoki.
squillman
16

Raportuje większość tych samych informacji, które mówią wszyscy, ale możesz też po prostu pisać

SET U

Zwróci wszystkie zmienne środowiskowe zaczynające się na U.

Nawiasem mówiąc, SET L może być przydatny do debugowania problemów z serwerem logowania.

Dayton Brown
źródło
1
Czasami widzisz wskazówki, które trzeba udostępnić, te dwie są świetne.
Tuby
5

Z linii poleceń? Powinno to zrobić „echo% nazwa użytkownika%”. Zalogowany użytkownik jest przechowywany w zmiennej środowiskowej „nazwa użytkownika”.

Z sesji graficznej ctrl-alt-del wyświetli ekran z wyświetlonym zalogowanym użytkownikiem.

sysadmin1138
źródło
5

Zależy to od konkretnego systemu operacyjnego, ale polecenie whoami jest dostępne jako część zestawu Windows 2000 Resource Kit i narzędzi obsługi systemu Windows XP SP2 .

RedFilter
źródło
2
+1 Dostępne również domyślnie w Vista +
Oskar Duveborn
aha, myślałem, że niedawno użyłem whoami na moim laptopie w domu, myślę, że to zadziałało, ponieważ to był widok perspektywiczny. tutaj w pracy jestem na XP
Kip
3

Powyższe są natywne dla systemu operacyjnego i lepszych odpowiedzi, ale w duchu kompletności istnieje dosłownie whoami.exe w narzędziach obsługi 2000 i XP. Przy 32 kb byłoby łatwo wdrożyć zasady grupy, gdybyś miał serce ustawione na tym poleceniu.

Kara Marfia
źródło
1

W autoekinie lub w wierszu polecenia systemu DOS wpisz monit% USERDOMAIN% \% USERNAME% $ p $ g , a wyświetli się osoba zalogowana jako i zobaczysz typowy monit taki jak: DOMAIM \ nazwa użytkownika C:>

użytkownik156428
źródło