Команда RUNAS — запуск приложения от имени другого пользователя Windows .
    Команда RunAS используется для запуска приложения под учетной записью пользователя, имя которого передается в качестве параметра командной строки. В Windows 7, и более поздних, данная команда, при стандартных настройках безопасности, не позволяет получить администраторские привилегии, как это происходит в режиме «Запустить от имени Администратора». Для запуска приложения от имени администратора потребуется выполнение некоторых настроек системы. Универсальный способ запуска приложений и командных файлов от имени администратора без запроса системы контроля учетных записей UAC с использованием стандартного Планировщика заданий описан в статье Запуск из командного файла приложений от имени Администратора без запроса UAC.
Формат командной строки RUNAS:
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 следующего содержания:
WHOAMI /PRIV | find /i «SeRemoteShutdownPrivilege»
if %ERRORLEVEL% == 0 goto admin
echo NOT have admin rights!
Принцип анализа привилегий основан на использовании команды 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 можно изменить или удалить с помощью оснастки управления сохраненными паролями:
При наборе ключевых значений нужно соблюдать регистр символов.
Команда RUNAS: запуск приложений от имени другого пользователя Windows
Как известно, пользователи ОС Windows могут обладать разными правами в системе. Время от времени возникает необходимость запустить приложение в контексте другого пользователя. Как правило, такая необходимость возникает из-за того, что у текущего пользователя нет необходимых прав. В командной строке для этих целей можно использовать команду RUNAS.
В современных версиях Windows при стандартных настройках безопасности не удастся получить права администратора при помощи команды runas . Это не позволит система контроля учётных записей (UAC). Конечно, UAC можно отключить, но это ослабит безопасность системы.
В общем виде синтаксис команды runas выглядит так:
RUNAS [ [/noprofile | /profile] [/env] [/savecred | /netonly] ] /user:имя_пользователя программа
RUNAS [ [/noprofile | /profile] [/env] [/savecred] ] /smartcard [/user:имя_пользователя] программа
RUNAS /trustlevel:уровень_доверия программа
Рассмотрим параметры команды runas .
/noprofile — не загружать профиль пользователя. Приложения в таком случае будут загружаться быстрее, но иногда это приводит к неправильной работе программ;
/profile — загружать профиль пользователя. Этот режим используется по умолчанию;
/env — использовать текущие параметры среды;
/savecred — использовать учётные данные, сохранённые пользователем;
/netonly — учётные данные предназначены только для удалённого доступа;
/smartcard — для указания учётных данных используется смарт-карта;
/user — имя пользователя в виде DOMAIN\USER или USER@DOMAIN;
/trustlevel — уровень доверия, с которым запускается программа;
/showtrustlevels — отобразить список уровней доверия, которые можно указать в /trustlevel .
Примеры использования команды runas :
Команда выше запустит редактор реестра на компьютере с именем COMP_BUHOV от имени пользователя ADMIN. При этом будет запрошен пароль пользователя ADMIN.
Теперь посмотрим пример с доменной учётной записью.
Здесь мы запускаем редактор реестра от имени доменной учётной записи ADMIN в домене TEST. Заметьте, что мы указали параметр /savecred . Это значит, что пароль будет сохранён в зашифрованном виде в реестре и в дальнейшем запрашиваться не будет. Имя пользователя можно указать и иначе:
Запустить командную строку с минимальным уровнем доверия:
Если вы запустили командную строку с использованием параметра /trustlevel , то можете просмотреть список привилегий, доступный каждому уровню доверия, при помощи:
Полные сведения об учётной записи можно просмотреть через:
Учтите, что параметр /profile несовместим с параметром /netonly , а параметр /savecred несовместим с параметром /smartcard . Пароли, которые были сохранены в реестре Windows при использовании команды runas , можно удалить при помощи оснастки управления сохранёнными паролями.
RUNAS — описание команды и примеры использования
Описание
RUNAS — Запускает программы от имени другого пользователя.
Синтаксис
Параметры
Параметр | Описание |
---|---|
/profile | Загружает профиль пользователя. Параметр /profile используется по умолчанию |
/no profile | Определяет, что профиль пользователя не надо загружать. Это позволяет загрузить приложение быстрее, но также может привести к сбоям в некоторых приложениях |
/env | Задает использование текущей сетевой среды вместо локальной среды пользователя |
/netonly | Показывает использование введенных сведений о пользователе только для удаленного доступа |
/smartcard | Определяет необходимость поддержки учетных данных с помощью смарт-карты |
/showtrustlevels | Выводит список параметров /trustlevel |
/trustlevel | Указывает уровень проверки подлинности, на котором необходимо выполнить приложение. Используйте параметр /showtrustlevels для просмотра доступных уровней доверия |
/user:учетная_запись_пользователя | Задает имя учетной записи пользователя, которая будет использована для запуска программы. Учетная запись пользователя должна быть представлена в формате пользователь@домен или домен\пользователь |
program | Задает команду или программу, которая будет запущена с помощью учетной записи, указанной в параметре /user |
/? | Отображает справку в командной строке |
Примечания
- Администраторам рекомендуется использовать учетную запись с ограниченными разрешениями для выполнения повседневных задач, не связанных с администрированием, и учетную запись с более широкими правами только для выполнения отдельных административных задач. Чтобы реализовать такой подход без выхода из системы и повторного входа, войдите в систему с обычной учетной записью и используйте команду runas для запуска программ, требующих более широких прав.
- Примеры использования команды runas см. по ссылке «».
- Использование команды runas не ограничено административными учетными записями, хотя именно такой способ является наиболее употребительным. Любой пользователь с несколькими учетными записями может использовать runas для запуска программы, консоли MMC или компонента панели управления с другими личными данными.
- Если необходимо использовать учетную запись администратора на своем компьютере, в качестве параметра /user: введите одно из следующих значений:/user:учетная_запись_администратора@имя_компьютера/user:имя_компьютера\учетная_запись_администратора
- Чтобы использовать данную команду в качестве администратора домена, введите одно из следующих значений параметра:/user:учетная_запись_администратора@имя_домена/user:имя_домена\учетная_запись_администратора
- С помощью команды runas можно выполнять программы (*.exe), запускать сохраненные консоли MMC (*.msc), ярлыки программ и сохраненных консолей MMC и компоненты панели управления. Их можно запускать в качестве администратора, даже если вход в систему был произведен с учетной записью члена другой группы, например группы пользователей или опытных пользователей.
- Можно использовать команду runas для запуска любой программы, консоли MMC или компонента панели управления. Поскольку указываются соответствующие сведения об имени пользователя и его пароле, учетная запись пользователя предоставляет возможность подключения к компьютеру, а программа, консоль MMC или компонент панели управления становятся доступными в системе для учетной записи пользователя.
- Команда runas позволяет администрировать сервер в другом лесе (компьютер, с которого запускается программа, и сервер располагаются в разных доменах).
- При попытке запуска программы, консоли MMC или компонента контрольной панели из сети с помощью runas выполнение может окончиться неудачей, поскольку личные сведения, использованные для подключения к сетевому ресурсу, могут отличаться от тех, что использованы при запуске программы. Личные сведения, использованные при запуске программы, могут не позволить получить доступ к тому же сетевому ресурсу.
- Некоторые компоненты, например папка «Принтеры» и элементы рабочего стола, открываются косвенно. Эти компоненты не могут быть запущены командой runas.
- Если выполнение команды runas заканчивается неудачей, может оказаться, что служба вторичного входа не запущена или используемая учетная запись пользователя недопустима. Чтобы проверить состояние службы вторичного входа, в компоненте «Управление компьютером» щелкните узел Службы и приложения, а затем — Службы. Чтобы проверить учетную запись пользователя, попытайтесь подключиться к соответствующему домену с помощью этой учетной записи.
Примеры использования
Чтобы в качестве администратора на локальном компьютере запустить экземпляр интерпретатора командной строки , введите команду:
После запроса введите пароль администратора.
Чтобы запустить экземпляр оснастки «Управление компьютером», используя учетную запись администратора домена companydomain\domainadmin, введите команду:
После запроса введите пароль соответствующей учетной записи.
Чтобы запустить экземпляр блокнота, используя учетную запись администратора домена user в домене domain.microsoft.com, введите команду:
После запроса введите пароль соответствующей учетной записи.
Чтобы запустить экземпляр окна командной строки, сохраненную консоль MMC, компонент панели управления или программу, которая будет администрировать сервер в другом лесе, введите команду:
В параметре домен\имя_пользователя должен быть указан пользователь с разрешениями, достаточными для администрирования сервера. После запроса введите пароль соответствующей учетной записи.