Що таке еквівалент 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.