- Команда RUNAS — запуск приложения от имени другого пользователя Windows .
- Запуск от имени другого пользователя
- Как запустить приложение от имени другого пользователя
- 1. С помощью командной строки
- Примеры
- 2. Через проводник Windows
- Команда RUNAS: запуск приложений от имени другого пользователя Windows
- Запуск программы от имени другого пользователя в Windows
- Команда Runas для запуска программ от имени другого пользователя
- Как удалить сохраненный пароль в команде Runas
Команда 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 можно изменить или удалить с помощью оснастки управления сохраненными паролями:
При наборе ключевых значений нужно соблюдать регистр символов.
Запуск от имени другого пользователя
В ОС Windows существует возможность работая под одной учётной записью запускать приложение или апплет от имени другого пользователя. Ранее мы уже рассказывали о запуске приложений от имени администратора, т.е. с максимальными правами. Но стоит также рассказать о том, как запустить командную строку, редактор реестра или любое приложение от имени другого пользователя.
Запуск от имени другого пользователя не позволяет получить права на запись в системные области, в отличие от запуска от имени администратора.
Как запустить приложение от имени другого пользователя
Внимание! Функция запуска от имени другого пользователя срабатывает при двух условиях:
- Учётная запись, от имени которой вы хотите запускать приложение, должна быть защищена паролем.
- Для службы Вторичный вход в систему должен быть установлен тип запуска Вручную.
1. С помощью командной строки
Логично, что при этом способе нужно сначала запустить саму командную строку.
1 Введите команду
2 Нажмите Enter.
3 Введите пароль
4 Нажмите Enter.
Также, вы можете из своей командной строки запустить командную строку от имени другого пользователя. А в ней уже запускать то, что вам требуется.
Примеры
1 Запустим командную строку под текущим пользователем.
2 Теперь запустим другое окно командной строки от имени другого пользователя:
3 Нажимаем Enter.
4 Вводим пароль.
5 Нажимаем Enter:
Как видим, открылось второе окно консоли. В названии окна — Запущено от имени COMPFIXER\compfixer.info:
Чтобы запустить Панель управления от имени администратора домена, необходимо ввести команду:
После ввода команды нужно будет ввести пароль учётной записи, от имени которой вы выполняете действие.
2. Через проводник Windows
1 Нажмите и удерживайте клавишу Shift.
2 Нажмите правой кнопкой мыши по исполняемому файлу или ярлыку.
3 Выберите пункт Запуск от имени другого пользователя:
4 Введите Логин и Пароль учётной записи.
Команда 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 , можно удалить при помощи оснастки управления сохранёнными паролями.
Запуск программы от имени другого пользователя в Windows
Может возникнуть ситуация, когда необходимо запустить какую-нибудь программу от имени другой учетной записи существующей в компьютере. Причин этого может быть множество, например программа требует для работы прав администратора компьютера или любые другие, главное научиться запускать программы от имени другого пользователя компьютера.
Способов добиться этого существует множество, давайте рассмотрим некоторые штатные возможности операционной системы Windows. Проще всего, если требуется запустить программу от имени администратора, достаточно щелкнуть по запускаемому файлу или ярлыку правой кнопкой мыши и выбрать пункт «Запуск от имени администратора». Ввести пароль и нажать кнопку «OK», программа запуститься от имени администратора.
Чтобы запустить программу от имени другого пользователя системы, нужно с нажатой клавишей Shift на клавиатуре щелкнуть правой кнопкой мыши на нужном файле и выбрать в контекстном меню пункт «Запуск от имени другого пользователя», ввести его логин и пароль.
Есть правда пара особенностей, чтобы запустить программу от имени другой учетной записи, она должна иметь пароль. Учетная записи пользователя имеет имя и может быть указано еще полное имя, работать будет только при указании имени.
Бывает, программа запускается только от имени администратора, а вы пользуетесь обычной учетной записью, тогда можно сократить запуск программы на одно действие, достаточно зайти в свойства ярлыка и на вкладке «Совместимость» отметить галочку «Выполнять эту программу от имени администратора». Теперь двойной клик левой кнопкой мыши по этому ярлыку сразу будет требовать ввода пароля администратора.
Команда Runas для запуска программ от имени другого пользователя
Для часто запускаемых программ от имени другого пользователя, неудобно каждый раз нажимать Shift и щелкать правой кнопкой мыши, проще воспользоваться специальной встроенной командой Runas. Для этого создадим ярлык, который будет запускать нужную программу от имени другого пользователя компьютера. Как создать ярлык можно прочитать здесь. В поле «Объект» напишем следующую команду:
пользователь — учетная запись, от имени которой требуется запустить программу, записывается в виде имя_учетной_записи@имя_компьютера или имя_компьютера\имя_учетной_записи , хотя просто имя_учетной_записи тоже работает.
программа — имя исполняемого файла, который мы хотим запустить. Если исполняемый файл находится не в системных переменных окружения, необходимо указывать полный путь до него.
В случае если имя пользователя или путь программы содержат пробелы, нужно взять их в двойные кавычки по отдельности.
Сохраняем ярлык, теперь при его запуске будет появляться черное окно с просьбой ввести пароль. Внимание, при вводе пароля ничего не происходит, просто вводите его и нажимаете клавишу Enter .
Все хорошо работает, но вводить постоянно пароль быстро надоедает. На этот случай, команда Runas имеет специальный ключ /savecred . В случае его использования, пароль вводится только один раз при первом запуске, он сохраняется в недрах Windows и при последующих запусках подставляется автоматически. Вся команда выглядит следующим образом:
Внимание! Ключ /savecred не работает в Домашних версиях Windows.
Кажется вот оно счастье, однако есть определенные неудобства. Например, какая-либо программа отказывается запускаться в простой учетной записи. Вы запускаете ее вышеописанным способом, все замечательно. Теперь та же ситуация чуть под другим углом. Вы администратор компьютера, а например у вашего ребенка простая учетная запись и игра отказывается запускать под ним. Давать ему пароль администратора вы не намерены, поэтому вы создаете ярлык, прописываете ключ /savecred , вводите пароль первый раз и довольный потираете руки.
Дальнейшие события зависят от степени продвинутости человека, которому вы сделали такой ярлык. Если пользователь чайник в компьютерах, то можете спать спокойно, в противном случае, в один прекрасный день, он может додуматься поменять в ярлыке путь к исполняемому файлу на другой и сможет запускать другие программы от имени администратора.
Так же он получит доступ ко всем файлам на жестком диске компьютера, даже если доступ к ним запрещен его учетной записи, включая папки «Мои документы» других пользователей компьютера. Согласитесь, довольно серьезная дыра в безопасности компьютера при использовании команды Runas с ключом /savecred.
У команды Runas есть ограничения на запуск некоторых системных программ от имени администратора компьютера, в том числе проводника. В Windows XP это обходится использованием ключа /separate: runas /savecred /user:Андрей «explorer.exe /separate»
В более поздних версия операционной системы Windows он не работает, но можно воспользоваться любым другим файловым менеджером и получить доступ к файлам от имени админа.
Выходом в данном случае будет сделать такие настройки безопасности, чтобы нужная программа запускалась от имени простого пользователя или использовать сторонние программы для запуска от имени администратора.
В случае если эти способы не устраивают, можно попытаться максимально затруднить возможность несанкционированного запуска пользователем других программ от имени другого пользователя компьютера. Для этого требуется выполнить несколько дополнительных действий.
Во-первых, и самое главное, не говорить ему, что программа запускается от имени другого пользователя. Правда он может сам узнать об этом в диспетчере задач.
Во-вторых, сделать запуск с помощью пакетного (batch) файла. Открываете текстовый редактор, например блокнот и пишете там строчку, которую писали в поле «Объект» ярлыка. Сохраняете его с расширение .bat. Теперь при запуске этого пакетного файла, точно так же выполнится команда, написанная в нем. Однако этого не достаточно, так как его содержимое можно посмотреть и изменить в простом текстовом редакторе.
Если в имени пользователя или пути к файлу есть русские буквы, то его нужно сохранить в кодировке DOS 866 или в начало bat файла на отдельной строке необходимо вставить chcp 1251.
В-третьих, сделать bat файл не читаемым, чтобы затруднить пользователю анализ, каким образом запускается программа. Для этого сконвертируем наш bat файл в привычный exe. Можно воспользоваться одной из программ конвертеров, например бесплатной программой «Bat To Exe Converter» или любой другой на ваш вкус. Запускаете программу и в поле «Batch file» указываете ваш bat файл. В поле «Save as» куда и под каким именем сохранить результат. Дополнительно для большей конспирации можно на вкладке «Versioninformations» в поле «Icon file» указать значок для нашего будущего exe-шника в формате ico. Остальные параметры можно не трогать. Когда все будет готово, нажимаете кнопку «Compile» и получаете свой exe файл.
Теперь открывать его в текстовом редакторе бесполезно. Копируете его в папку с запускаемой программой, называете как-нибудь похоже на название программы и делаете на него обычный ярлык на рабочем столе.
В-четвертых, последний штрих, выдающий в нем командный файл, это на секунду появляющееся черное окно на рабочем столе. Избавиться от него совсем простым способом не получится, но можно достаточно просто свести его заметность к минимуму. Достаточно в свойствах ярлыка на вкладке «Ярлык» выбрать пункт «Свернутое в значок», теперь только на панели задач будет появляться на мгновение окно командной строки.
Все, теперь если человек от которого вы хотите скрыть админский пароль является чайником или обычным среднестатистическим пользователем можете спать спокойно. Конечно, грамотный человек сможет узнать содержимое созданного нами exe-шника, но по большому счету это не требуется. Достаточно догадаться, что используется команда runas и просто создать свой ярлык для запуска нужной программы так что, несмотря на все ухищрения это поможет только от начинающего пользователя.
Как удалить сохраненный пароль в команде Runas
Сохранив единожды пароль от учетной записи в команде runas, вы можете в дальнейшем запускать программы, не вводя его снова. Однако вам может потребоваться заблокировать возможность запускать программы от имени другой учетной записи пользователя компьютера с использованием сохраненного пароля в runas.
Чтобы удалить сохраненный пароль, выполните «Пуск» ⇒ «Панель управления» ⇒ «Учетные записи пользователей и семейная безопасность» ⇒ «Диспетчер учетных данных».
В разделе «Учетные данные Windows» (интерактивный вход в систему) удаляете не нужные больше записи из хранилища.