Команда RUNAS - запуск приложения от имени другого пользователя Windows .

    Команда RunAS используется для запуска из командной строки приложения под учетной записью пользователя, имя которого передается в качестве параметра командной строки. В Windows 7, и более поздних, данная команда, при стандартных настройках безопасности, не позволяет получить администраторские привилегии, как это происходит в режиме "Запустить от имени Администратора". Для запуска приложения от имени администратора потребуется выполнение некоторых настроек системы.

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

RUNAS [ [/noprofile | /profile] [/env] [/savecred | /netonly] ] /user:имя пользователя программа

RUNAS [ [/noprofile | /profile] [/env] [/savecred] ] /smartcard [/user:имя пользователя] программа

RUNAS /trustlevel:уровень доверия программа

Параметры командной строки:

/noprofile - Не загружать профиль пользователя. Это приводит к более быстрой загрузке приложения, но может стать причиной неправильной работы некоторых приложений.

/profile - Загружать профиль пользователя. Этот параметр установлен по умолчанию.

/env - Использовать текущие параметры среды.

/netonly - Учетные данные предназначены только для удаленного доступа.

/savecred - Использовать учетные данные, сохраненные пользователем. Этот вариант не доступен в выпусках Windows 7 Домашняя или Windows 7 Начальная и будет проигнорирован.

/smartcard - Для указания учетных данных используется смарт-карта.

/user - имя пользователя должно быть в виде USER@DOMAIN или DOMAIN\USER

/showtrustlevels - Отобразить список уровней доверия, которые можно использовать в качестве аргументов параметра /trustlevel.

/trustlevel - Значение "уровень доверия" должно быть перечислено в списке уровней доверия.

программа - Командная строка для EXE. См. примеры ниже.

Примеры:

runas /user:mymachine\administrator cmd.exe - запустить интерпретатор команд cmd.exe от имени пользователя "administrator" компьютера "mymachine". При выполнении команды, будет запрошен пароль пользователя, от имени которого должна выполняться задача.

runas /noprofile /env /user:mydomain\admin " mmc %windir%\system32\diskmgmt.msc " - запустить консоль mmc с оснасткой "Управление дисками" от имени пользователя "admin" в домене "mydomain". Профиль пользователя не загружается, и используются текущие переменные среды. Загрузка профиля пользователя необходима только тогда, когда будет выполняться задача, которой требуются какие-либо данные из него. Если задан параметр "/env" то переменные окружения наследуются из среды текущего пользователя.

runas /savecred /user:admin@mydomain regedit.exe - запустить редактор реестра "regedit.exe" от имени пользователя "admin" домена "mydomain" с запоминанием введенного пароля. При наличии параметра "/savecred", введенный пароль запоминается в реестре в зашифрованном виде и в дальнейшем запрашиваться не будет .

runas /showtrustlevel - отобразить уровни доверия, существующие в системе. В ответ будет отображаться перечень в виде:

В системе доступны следующие уровни доверия:
0x20000 (Обычный пользователь)


Кроме значения trustlevel равного 0x20000 можно пользоваться значениями 0x10000, соответствующему минимальному набору привилегий и 0x40000, стандартному для данного пользователя набору. Для просмотра отличий разных уровней доверия можно воспользоваться командой Whoami, выполняя ее в сеансе командного процессора, запускаемого с каждым из уровней trustlevel

runas /trustlevel:0x20000 cmd.exe - запустить командный процессор cmd.exe с использованием уровня доверия, полученного в предыдущем примере.

runas /trustlevel:0x40000 cmd.exe - запустить командный процессор cmd.exe с использованием стандартного уровня доверия.

Примечание: в сеансе командной строки, запущенной с использованием параметра /trustlevel, список привилегий соответствующий каждому уровню доверия можно получить с использованием команды whoami /priv, а полные сведения об учетной записи - whoami /ALL

Примечание: параметр /profile несовместим с параметром /netonly.

Примечание: параметр /savecred несовместим с параметром /smartcard .

Для запуска приложений от имени администратора с использованием runas.exe необходимо изменить стандартные настройки безопасности системы:

- включить учетную запись Администратора ( по умолчанию, она отключена);

- задать пароль для пользователя Администратор;

Для проверки наличия прав администратора использовался командный файл с именем who-admin.bat следующего содержания:

@echo OFF

WHOAMI /PRIV | find /i "SeRemoteShutdownPrivilege"

if %ERRORLEVEL% == 0 goto admin

echo NOT have admin rights!

pause

exit

:admin

ECHO !!! ADMIN !!!

pause

Принцип анализа привилегий основан на использовании команды whoami с параметром /priv. В зависимости от наличия прав администратора, командный файл выводит сообщение "NOT have admin rights!", или - "!!! ADMIN !!!" и ожидает нажатия клавиши на клавиатуре. Подробности найдете в описании команды whoami по ссылке из полного списка команд.

runas /savecred /user:Администратор C:\scripts\who-amdmin.bat - запуск от имени администратора командного файла who-amdmin.bat, находящегося в папке C:\scripts. При первом запуске будет запрошен пароль Администратора, при последующих запусках ( с параметром /savecred ) - ввод пароля не требуется.

Пароли, запоминаемые при использовании утилиты RUNAS.EXE с параметром /savecred можно изменить или удалить с помощью оснастки управления сохраненными паролями:

%systemroot%\system32\rundll32.exe" keymgr.dll,KRShowKeyMgr

При наборе ключевых значений нужно соблюдать регистр символов.


Для управления сохраненными учетными записями в командной строке Windows используется утилита CMDKEY.EXE







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