Команда WHOAMI – получение информации о текущем пользователе Windows

    Команда WHOAMI используется для получения сведений об имени пользователя и группе, а также о соответствующих идентификаторах безопасности (SID), привилегиях, идентификаторах входа (ID) текущего пользователя (токене доступа) на локальном компьютере. При запуске whoami.exe без параметров, отображается имя пользователя в формате NTLM (домен\пользователь).

Формат командной строки:

Синтаксис 1:
    WHOAMI [/UPN | /FQDN | /LOGONID]

Синтаксис 2:
    WHOAMI { [/USER] [/GROUPS] [/PRIV] } [/FO <формат>] [/NH]

Синтаксис 3:
    WHOAMI /ALL [/FO <формат>] [/NH]
Параметры командной строки:

    /UPN                    Отображение имени пользователя в формате 
                            имени участника-пользователя (UPN).

    /FQDN                   Отображение имени пользователя в формате 
                            полного доменного имени (FQDN).

    /USER                   Отображение сведений о текущем пользователе
                            вместе с идентификатором безопасности (SID).

    /GROUPS                 Отображение для текущего пользователя членства
                            в группах, типа учетной записи, идентификаторов
                            безопасности (SID) и атрибутов.

    /PRIV                   Отображение привилегий безопасности текущего
                            пользователя.

    /LOGONID                Отображение идентификатора текущего пользователя.

    /ALL                    Отображение имени пользователя, членства 
                            в группах, идентификаторов безопасности 
                            (SID) и привилегий для токена доступа 
                            текущего пользователя.

    /FO       <формат>      Формат вывода.
                            Допустимые значения TABLE, LIST, CSV.
                            Заголовки столбцов в формате CSV
                            не отображаются. Формат по умолчанию: TABLE.

   /NH                     Указывает, что строка заголовков столбцов
                            не отображается при выводе.
                            Допускается только для форматов TABLE и CSV.

    /?                      Вывод справки по использованию.


Примеры использования WHOAMI:

WHOAMI - отобразить имя текущего пользователя в формате "домен\имя"

WHOAM /UPN - отобразить имя текущего пользователя в формате "имя@домен"

WHOAM /FQDN - отобразить имя текущего пользователя в формате полного доменного имени (FQDN).

WHOAMI /LOGONID - отобразить идентификатор текущего пользователя.

WHOAMI /USER - отобразить имя и SID текущего пользователя.

WHOAMI /USER /FO LIST - то же, что и в предыдущем случае, но с выводом данных в виде списка.

WHOAMI /GROUPS - отобразить список групп, членом которых является текущий пользователь.

WHOAMI /GROUPS /FO CSV - то же, что и в предыдущем случае, но с выводом результатов в виде полей, разделяемых запятой.

WHOAMI /GROUPS /FO CSV > C:\MyGroups.csv - то же, что и в предыдущем примере, но с выводом результатов в файл C:\MyGroups.csv.

WHOAMI /PRIV - отобразить список привилегий текущего пользователя.

WHOAMI /PRIV /FO TABLE - то же, что и в предыдущем примере, но с отображением результатов в виде таблицы.

WHOAMI /ALL - отобразить информацию о SID текущего пользователя, принадлежности к группам и перечень привилегий.

Формат отображаемой информации:

                                            
Сведения о пользователе                               

                                                                  
Пользователь SID                                                       

dom\useradm  S-1-5-21- 56653307- 3472606255- 1660535541 -7069     
                                                             
                                                                
Сведения о группах                                        

                                                             
Группа                                          Тип                     SID                 Атрибуты  

Все                                             Хорошо известная группа S-1-1-0           Обязательная 
BUILTIN\Администраторы                          Псевдоним               S-1-5-32-544      Обязательная 
BUILTIN\Пользователи удаленного рабочего стола  Псевдоним               S-1-5-32-555      Обязательная 
BUILTIN\Пользователи                            Псевдоним               S-1-5-32-545      Обязательная 
NT AUTHORITY\ ИНТЕРАКТИВНЫЕ                      Хорошо известная группа S-1-5-4           Обязательная 
КОНСОЛЬНЫЙ ВХОД                                 Хорошо известная группа S-1-2-1           Обязательная 
NT AUTHORITY\ Прошедшие проверку                 Хорошо известная группа S-1-5-11          Обязательная 
NT AUTHORITY\ Данная организация                 Хорошо известная группа S-1-5-15          Обязательная 
ЛОКАЛЬНЫЕ                                       Хорошо известная группа S-1-2-0           Обязательная 
Обязательная метка\ Высокий обязательный уровень Метка                   S-1-16-12288      Обязательная 
                                                                                                       
                                                                                                       
Сведения о привилегиях                                                                                 

                                                                                                       
Имя привилегии                  Описание                                    Область, край

SeIncreaseQuotaPrivilege        Настройка квот памяти для процесса          Отключен 
SeSecurityPrivilege             Управление аудитом и журналом безопасности  Отключен 
SeTakeOwnershipPrivilege        Смена владельцев файлов и других объектов   Отключен 
SeLoadDriverPrivilege           Загрузка и выгрузка драйверов устройств     Отключен 
SeSystemProfilePrivilege        Профилирование производительности системы   Отключен 
SeSystemtimePrivilege           Изменение системного времени                Отключен 
SeProfileSingle ProcessPrivilege Профилирование одного процесса              Отключен 
SeIncreaseBase PriorityPrivilege Увеличение приоритета выполнения            Отключен 
SeCreatePagefilePrivilege       Создание файла подкачки                     Отключен 
SeBackupPrivilege               Архивация файлов и каталогов                Отключен 
SeRestorePrivilege              Восстановление файлов и каталогов           Отключен 
SeShutdownPrivilege             Завершение работы системы                   Отключен 
SeDebugPrivilege                Отладка программ                            Отключен 
SeSystemEnvironment Privilege    Изменение параметров среды изготовителя     Отключен 
SeChangeNotify Privilege         Обход перекрестной проверки                 включен  
SeRemoteShutdown Privilege       Принудительное удаленное завершение работы  Отключен 
SeUndockPrivilege               Отключение компьютера от стыковочного узла  Отключен 
SeManageVolume Privilege         Выполнение задач по обслуживанию томов      Отключен 
SeImpersonate Privilege          Имитация клиента после проверки подлинности включен  
SeCreateGloba lPrivilege         Создание глобальных объектов                включен  
SeIncrease WorkingSetPrivilege   Увеличение рабочего набора процесса         Отключен 
SeTimeZonePrivilege             Изменение часового пояса                    Отключен 
SeCreateSymbolic LinkPrivilege   Создание символических ссылок               Отключен 
                                                                                     


Команду Whoami можно использовать в командных файлах в качестве средства проверки того факта, что командный файл был запущен от имени администратора в среде Windows 7/8. Для этого достаточно сравнить набор привилегий при выполнении команды в обычном режиме и при выполнении в режиме запуска от имени администратора. Например, если удаленное выключение компьютера доступно только с правами администратора системы, можно, используя команду поиска FIND, определить наличие строки "SeRemoteShutdownPrivilege" в результатах выполнения команды whoami /priv для текущего пользователя. Например, так:

@echo OFF
WHOAMI /PRIV | find /i "SeRemoteShutdownPrivilege"
if %ERRORLEVEL% == 0 goto admin
echo Пользователь не имеет прав администратора!!!
REM часть кода, исполняемого при отсутствии прав администратора
pause
exit
:admin
REM часть кода, исполняемого при наличии прав администратора
ECHO !!! Командный файл запущен от имени администратора!!!
pause
exit


Например:

REM Этот командный файл должен выполняться от имени Администратора
@echo OFF
WHOAMI /PRIV | find /i "SeRemoteShutdownPrivilege"
if %ERRORLEVEL% == 0 goto admin
color CF
msg console Этот командный файл должен выполняться от имени администратора.
pause
exit
:admin
color f0
Rem Удалить все теневые копии
vssadmin delete shadows /all


Если данный командный файл будет запущен от имени пользователя, то фон консоли станет красным и пользователю будет выдано сообщение ”Этот командный файл должен выполняться от имени администратора”. Если от имени Администратора – фон консоли станет белым и выполнится команда удаления всех теневых копий (максимально освободить дисковое пространство)




Весь список команд CMD Windows


Рейтинг@Mail.ru