私はPerlスクリプトを持っているので、ローカルボックスで別のユーザーとして実行する必要があります。それは試験機なので、本当のセキュリティはありません—働いたらハンマーを使います。私がこれまで試したどのようなWindows上で別のユーザーとしてプロセスを起動する方法はありますか?
は
$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 OSが追加される可能性があります。
スクリプトが対話型プログラムで動作できるようにする 'Expect' perlモジュールを試すことができます。 –