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.