У меня есть Perl-скрипт, и мне нужно запустить его от имени другого пользователя в локальном окне. Это машина для тестирования, поэтому никакой реальной безопасности - я бы использовал молоток, если бы он работал.
То, что я до сих пор пробовал, это
$cmd = 'runas /user:tester01 "perl delegated.pl"';
system($cmd) == 0
or die "could not spawn process as tester01: $!";
но это не работает: он запрашивает пароль в интерактивном режиме. (Трубопровод echo password
в runas
также не удался.)
Как мне добиться этого из скрипта Perl? Или я должен сделать что-то еще до этого system "runas..."
часть?
Я знаю, что могу использовать PsExec, но я бы предпочел собственное решение для Windows. В настоящее время должны работать следующие блоки: Windows 7 и Windows XP, но другие ОС Windows могут быть добавлены позже.