whoami

Wyświetla nazwę bieżącego użytkownika, domenę, grupy i uprawnienia.

whoami to jedno z tych poleceń, które w Windowsie ratują tyłek, gdy nie masz pewności, na jakim koncie właściwie działasz. Uruchomione bez żadnych opcji wypisuje bieżącego użytkownika w formacie domena\nazwa (albo nazwa-komputera\nazwa na maszynie poza domeną). Dorzucając flagi, wyciągniesz z niego znacznie więcej: przynależność do grup, listę uprawnień (privileges) czy identyfikator sesji logowania. To pierwsza komenda, którą powinieneś odpalić, gdy debugujesz problemy z dostępem, sprawdzasz, czy skrypt leci na właściwym koncie, albo weryfikujesz, czy proces faktycznie działa z podniesionymi uprawnieniami.

Składnia i najważniejsze opcje

Podstawowe wywołanie: whoami [/upn | /fqdn | /logonid] lub whoami {[/user] [/groups] [/priv] [/claims]} [/fo format] [/nh]

  • /user — wyświetla nazwę użytkownika oraz jego identyfikator SID.
  • /groups — pokazuje grupy, do których należysz, wraz z ich SID-ami i atrybutami.
  • /priv — listuje uprawnienia (privileges) w bieżącym tokenie i ich stan (włączone/wyłączone).
  • /all — wszystko naraz: użytkownik, grupy, uprawnienia i claims.
  • /upn — nazwa w formacie User Principal Name (np. [email protected]), tylko w domenie.
  • /fqdn — pełna nazwa (Fully Qualified Domain Name) konta w Active Directory.
  • /logonid — identyfikator sesji logowania (logon ID).
  • /fo — format wyjścia: table, list lub csv; /nh usuwa nagłówki.

Przykłady użycia

  • whoami — szybki test: kto ja jestem i w jakiej domenie.
  • whoami /user — zwraca nazwę i SID; przydaje się, gdy musisz podać komuś swój identyfikator SID.
  • whoami /priv — sprawdzasz, czy masz np. SeDebugPrivilege i czy jest włączony (klasyk przy diagnozie uprawnień).
  • whoami /groups /fo csv /nh — grupy w formacie CSV bez nagłówków, gotowe do przetworzenia w skrypcie.
  • whoami /all — pełny obraz sesji, gdy debugujesz problem z dostępem i nie chcesz zgadywać.

Częste błędy i pułapki

Najczęstsza pomyłka: łączenie /all z /user, /groups czy /priv — to nie przejdzie, bo /all i tak zawiera wszystko. Podobnie /upn, /fqdn i /logonid to opcje samodzielne, których nie mieszasz z pozostałymi. Druga pułapka: /upn i /fqdn działają tylko na koncie domenowym — na lokalnym koncie dostaniesz błąd, bo taka nazwa po prostu nie istnieje. Pamiętaj też, że whoami czyta token bieżącej sesji, więc jeśli świeżo dodano Cię do grupy AD, zobaczysz zmianę dopiero po ponownym zalogowaniu — token się nie odświeża w locie. I nie myl tego z echo %USERNAME%, który pokaże samą nazwę bez SID-ów, grup i uprawnień.

Powiązane komendy: echo %USERNAME% (sama nazwa), net user (szczegóły konta), hostname (nazwa maszyny), gpresult (polityki grupowe), a w PowerShellu [Security.Principal.WindowsIdentity]::GetCurrent(). W świecie Linuksa odpowiednikiem jest whoami oraz id.