Що таке еквівалент Windows для Unix команди «whoami»?


72

Чи є еквівалент Windows для команди Unix "whoami"? Якщо так, то що це?


2
Так, є, і це теж whoami
DeepSpace101,

використовуйте команду "сеанс запиту", щоб отримати список поточно ввійшли або відключених термінальних послуг, користувачів
Мартін

Відповіді:


73

Починаючи з Windows 2000, whoamiкоманда є частиною стандартного командного рядка (дякуємо pk, що очистив це в коментарях!).

Ви можете зробити це: відкрийте командний рядок і введіть "set", а потім натисніть клавішу Enter. Це показує змінні активного середовища. Поточний зареєстрований логін користувача зберігається в змінній USERNAME env, а ваш домен зберігається в змінній USERDOMAIN.

Щоб повернути інші відповіді, з рядка cmd:

echo %USERDOMAIN%\%USERNAME%

отримає повний авторизований користувач у форматі домен \ ім'я користувача.

Ви можете зробити те ж саме з Powershell і цим:

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

1
+1 для освітнього аспекту, а також для включення домену, а також ім'я користувача
tomjedrz

@squillman Як я можу зробити цю роботу під час запуску командного рядка як користувача Sytem? Тому в цьому випадку немає змінної середовища, наприклад% USERDOMAIN% або% USERNAME%
GianT971

@ GianT971 Ви маєте на увазі LocalSystem? Для цього облікового запису немає способу, оскільки він не пов’язаний із зареєстрованим користувачем. Зазвичай цей обліковий запис використовується для сервісів, і коли служба працює як LocalSystem, вона приймає контекст безпеки менеджера управління послугами.
шквал

Гаразд. Так, це я мав на увазі. Можливо, з останніми версіями PowerShell це можливо, як при запуску програми .NET, що викликає Environment.Username під обліковим записом LocalSystem, результат - "Система". Але я ще не
придивився

@ GianT971 Ви можете створити CMD-файли або повноваження процесів та запустити сценарії, але інтерактивну оболонку ви не отримаєте.
шквал

16

Це повідомляє про більшу частину тієї самої інформації, яку кажуть всі інші, але ви також можете просто ввести

SET U

Він поверне будь-які змінні середовища, які починаються з U.

Окрім того, SET L може бути зручним для налагодження проблем з сервером реєстрації.


1
Інколи ви просто бачите поради, якими потрібно ділитися, ці два чудові.
Діжки


5

З командного рядка? "echo% username%" повинен це зробити. Користувач, який увійшов до системи, зберігається в змінній середовища "ім'я користувача".

З графічного сеансу ctrl-alt-del видасть вам екран із відображенням користувача, який увійшов у систему.


5

Це залежить від вашої конкретної ОС, але команда whoami доступна як частина набору ресурсів Windows 2000 та інструментів підтримки Windows XP SP2 .


2
+1 Також доступно за замовчуванням у Vista +
Oskar Duveborn

ага, я думав, що нещодавно я вдома використовував домашній комп'ютер на своєму ноутбуці, я гадаю, це спрацювало, тому що це було видом. тут на роботі я на xp
Кіп

3

Вищезгадане є власником ОС та краще відповідає, але в дусі повноти буквально є whoami.exe в інструментах підтримки 2000 та XP. При 32 кб, було б легко прокатати групову політику, якби у вас було серце в цій команді.


1

У autoexec або в запиті DOS введіть prompt% USERDOMAIN% \% USERNAME% $ p $ g , і ви покажете, на кого ви ввійшли в систему, і побачите типовий рядок, як це: DOMAIM \ username C:>

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.