runas – посторонним в …

Администраторам и продвинутым пользователям, а с моей подачи и не продвинутым пользователям бывает нужно запустить приложение от имени другого эккаунта (пользователя). В операционных системах Windows XP и Windows 2003 имеется команда RUNAS (не путать с run ass :) ) предоставленная для того чтобы удовлетворить эту потребность.Команда имеет следующий формат:

runas /user:userxxx cmd

где, userxxx – имя (логин) пользователя
cmd – выполняемая от его имени программа

Мне не понятно зачем, но так уж получается, в windows перекрыта возможность передать пароль через “конвеер” ввода/вывода:

echo пароль | runas /user:userxxx cmd
rem переназначение стандартного вывода программы ‘echo’ на стандартный ввод программы ‘runas’

или

runas /user:userxxx cmd <текстовый_файл_с_паролем
rem переназначение стандартного ввода программы ‘runas’

Зато команда имеет ряд ключей, один из которых позволяет автоматизировать вход и избавить от постоянного ввода пароля. Это /savecred, который предназначен для того чтобы спросить пароль один раз! Примечание: ключ игнорируется в Windows XP Home Edition, тоесть пароль прийдётся вводить каждый раз. Дело в том, что команда runas всегда требует ввода имени и пароля и её неудобно использовать в пакетных файлах для запуска приложений, особенно многократного.

Пароль, введённый с использованием ключа /savecred, сохраняется в специальном хранилище Start->Setings->Control panel->User accounts

Диалог управления пользователями

Если вам потребуется удалить пароль то это можно сделать именно через приведённую систему управления сохранёнными паролями.

Сохранённые имена пользователей и пароли

Следует предупредить, что в этом хранилище находятся пароли не только для системной команды runas, но и для работы в локальной сети (в случае, если логин не прописан стандартным образом в пользователях), а также для автовхода в службу Passport.NET. Так что удаляя, как вам кажется, лишнее – удаляйте осторожно.

Предостережение по поводу автоматизации входа. Никогда не сохраняйте таким способом пароль пользователя имеющего привилегии выше чем привилегии текущего пользователя, например администратора.

Область применения runas:

  • запуск двух и более копий программ, которые написаны таким образом чтобы не запускаться многократно в пределах одной сессии пользователя. Но бывает нужно… Статья два и более skype одновременно;
  • запуск утилит администрирования из среды пользователя.

Где не поможет runas:

  • запуск окон windows explorer для, например, установки прав доступа на каталог или файл. Он почему-то всегда запускается из контекста текущего пользователя;
  • в runas не выполняются logon скрипты из групповой политики. Если нужно – выполнять их руками.

Leave a Reply