У роботі будь-якого системного адміністратора іноді постає завдання запуску програми від імені іншого користувача. В * NIX системах з цим все просто. А як з цією справою в операційних системах сімейства Windows?
Використання команди RUNAS:
RUNAS [[/ noprofile | / Profile] [/ env] [/ netonly]]
/ User:<имя пользователя> <программа>
RUNAS [[/ noprofile | / Profile] [/ env] [/ netonly]]
/ Smartcard [/ user:<имя пользователя>] <программа>
/ Noprofile Чи не завантажувати профіль користувача. Це призводить до більш
швидкої завантаженні програми, але може стати причиною
неправильної роботи деяких додатків.
/ Profile Завантажувати профіль користувача.
Цей параметр встановлено за замовчуванням.
/ Env Використовувати поточні параметри середовища.
/ Netonly Облікові дані призначені тільки для віддаленого
доступу.
/ Savecred Використовувати облікові дані, збережені користувачем.
Цей параметр не доступний в Windows XP Home Edition
і буде проігнорований.
/ 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:[email protected] "notepad" Мій файл.txt ""
Примітка: вводите пароль користувача тільки тоді, коли він запитується.
Примітка: формат запису USER @ DOMAIN несумісний з параметром / netonly.
Примітка: параметр / profile несумісний з параметром / netonly.
Але ось вам інша задача: як зробити так, щоб програма завжди запускалася від якогось певного імені? Як видно з лістингу, такого параметра, як "пароль", немає. RunAs завжди запускається інтерактивно. що цілком можна пояснити з точки зору безпеки.
Можна спробувати поізголяться з командним рядком і перенаправленням виводу, типу:
c: \> echo passwd | runas / user: MyUser CoolProgram.exe
але у мене в Windows XP SP2 цей фокус не пройшов - програма запускалася від мого імені.
Але вихід, звичайно, є. І ім'я йому CPAU. За допомогою цієї чудової проги можна значно розширити функціонал 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
Інші приклади можна знайти, запустивши довідку:
Загалом, утиліта з розряду "admin tools". Рекомендую.
Ах да! Завантажити програму можна звідси.