Dzyatlava.by Team
Как запустить программу от имени другого пользователя
В работе любого системного администратора иногда встаёт задача запуска программы от имени другого пользователя. В *NIX системах с этим всё просто. А как с этим делом в операционных системах семейства Windows?
быстрой загрузке приложения, но может стать причиной
Ах да! Скачать программу можноотсюда.
В работе любого системного администратора иногда встаёт задача запуска программы от имени другого пользователя. В *NIX системах с этим всё просто. А как с этим делом в операционных системах семейства Windows?
RunAs". С её помощью провести запуск программы от имени другой учетной записи
довольно легкои любой, кто хоть чуть интересовался этим, мог самостоятельно разобраться что к чему: нажимаешь
Shift(
в Windows 2000) +
щелкаешь мышьюпо программе или ярлыку и выбираешь пункт меню "
Запуск от имени...", указываешь нужные логин и пароль и - вуаля - программа запускается с правами другого пользователя. Просто и удобно. Для особых ценителей есть и консольный вариант программы:
RUNAS [ [/noprofile | /profile] [/env] [/netonly] ]C:\>runasИспользование команды RUNAS:/user:<имя пользователя> <программа>RUNAS [ [/noprofile | /profile] [/env] [/netonly] ]/smartcard [/user:<имя пользователя>] <программа>/noprofile Не загружать профиль пользователя. Это приводит к болеебыстрой загрузке приложения, но может стать причинойнеправильной работы некоторых приложений./profile Загружать профиль пользователя.Этот параметр установлен по умолчанию./env Использовать текущие параметры среды./netonly Учетные данные предназначены только для удаленногодоступа./savecred Использовать учетные данные, сохраненные пользователем.Этот параметр не доступен в Windows XP Home Editionи будет проигнорирован./smartcard Для указания учетных данных используетсясмарт-карта./user <имя пользователя> должно быть в виде USER@DOMAIN или DOMAIN\USER<программа> Командная строка для EXE. См. примеры ниже.Примеры:Примечание: вводите пароль пользователя только тогда, когда он запрашивается.> runas /profile /user:mymachine\administrator cmd> runas /profile /env /user:mydomain\admin "mmc %windir%\system32\dsa.msc"> runas /env /user:user@domain.microsoft.com "notepad \"Мой файл.txt\""Примечание: формат записи USER@DOMAIN несовместим с параметром /netonly.Примечание: параметр /profile несовместим с параметром /netonly.
Но вот вам другая задача: как сделать так, чтобы программа всегда запускалась от некоего определенного имени? Как видно из листинга, такого параметра, как "пароль", нет. RunAs всегда запускается интерактивно, что вполне объяснимо с точки зрения безопасности.
Можно попробовать поизголяться с командной строкой и перенаправлением вывода, типа:
c:\>echo passwd | runas /user:MyUser CoolProgram.exe
но у меня в Windows XP SP2 этот фокус не прошел - программа запускалась от моего имени.Но выход, конечно, есть. И имя ему
. При помощи этой замечательной проги можно значительно расширить функционал RunAs.
или по-русски в моём переводе:Command line tool for starting process in alternate security context. Basically this is a runas replacement. Also allows you to create job files and encode the id, password, and command line in a file so it can be used by normal users.
Утилита командной строки для запуска процесса с другим контекстом безопасности. В основном это замена runas. Также позволяет создавать командные файлы и шифровать идентификатор, пароль и команду запуска в файле, также может быть использована обычными пользователями.
Вот например, чтобы запустить CoolProgram.exe от имени пользователя MyUser с паролем passwd, нужно:
cpau -u MyUser -p passwd -ex "C:\Path\to\CoolProgram.exe" -lwop
Другие примеры можно найти, запустив справку:
cpau | more
В общем, утилита из разряда "admin tools". Рекомендую.
__________________________
Captain Flint