Qual è l'equivalente di Windows del comando "whoami" di Unix?


72

Esiste un equivalente Windows del comando "whoami" di Unix? Se è così, che cosa è?


2
Sì, c'è ed è anche whoami
DeepSpace101

utilizzare il comando "query session" per ottenere un elenco di servizi terminal attualmente connessi o disconnessi, utenti
Martin

Risposte:


73

Da Windows 2000, il whoamicomando fa parte della riga di comando standard (grazie a pk per averlo chiarito nei commenti!).

Puoi farlo: apri un prompt dei comandi e digita "set", quindi premi invio. Questo mostra le variabili d'ambiente attive. Il nome utente attualmente connesso viene archiviato nella variabile env USERNAME e il dominio è archiviato nella variabile USERDOMAIN.

Per allontanare le altre risposte, da una linea cmd:

echo %USERDOMAIN%\%USERNAME%

ti porterà l'utente completo connesso in formato dominio \ nome utente.

Puoi fare la stessa cosa con Powershell con questo:

write-host $env:userdomain\$env:username

1
+1 per l'aspetto educativo e per l'inclusione del dominio e del nome utente
tomjedrz,

@squillman Come posso farlo funzionare quando eseguo un prompt dei comandi come utente Sytem? Causa in quel caso, non esiste una variabile d'ambiente come% USERDOMAIN% o% USERNAME%
GianT971

@ GianT971 Intendi LocalSystem? Non esiste un modo per quell'account poiché non è associato a un utente connesso. In genere questo account viene utilizzato per i servizi e quando un servizio è in esecuzione come LocalSystem, assume il contesto di sicurezza del gestore controllo servizi.
Squillman

Ok. Sì, questo è ciò che intendevo. Forse con le ultime versioni di PowerShell è possibile, come quando si esegue un'app .NET che richiama Environment.Username sotto l'account LocalSystem, il risultato è "Sistema". Ma non ho ancora dato una buona occhiata a PowerShell
GianT971 il

@ GianT971 Potresti generare processi cmd o powershell ed eseguire script, ma non otterrai una shell interattiva.
Squillman

16

Questo riporta la maggior parte delle stesse informazioni che dicono tutti gli altri, ma puoi anche solo digitare

SET U

Restituirà tutte le variabili d'ambiente che iniziano con U.

A parte questo, SET L può essere utile per il debug dei problemi del logonserver.


1
A volte vedi solo suggerimenti che devono essere condivisi, quei due sono fantastici.
Vasche


5

Dalla riga di comando? "echo% username%" dovrebbe farlo. L'utente che ha effettuato l'accesso è archiviato nella variabile ambientale "nome utente".

Da una sessione grafica, ctrl-alt-del ti darà una schermata con l'utente connesso visualizzato.



3

Quanto sopra è nativo del sistema operativo e risposte migliori, ma nello spirito di completezza, c'è letteralmente un whoami.exe negli strumenti di supporto 2000 e XP. A 32 kb, sarebbe facile implementare i criteri di gruppo, se il tuo cuore fosse impostato su quel comando.


1

In autoexec o al prompt di DOS, digita prompt% USERDOMAIN% \% USERNAME% $ p $ g e visualizzerai chi hai effettuato l'accesso e vedrai il tipico prompt come questo: DOMAIM \ nome utente C:>

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.