ウェブページからリモートホスト上の.batファイルを実行しようとしています。PsExecを実行するIISから:PsExecSVCリモートホストでハングする
PSEXECSVC(ホスト上)は、サーバーが無期限に待機するバッチの実行後にハングして終了しません。
@echo off
echo ------ Start -----
exit
:まったく同じコードを実行する場合、バッチファイルは1つのライナーエコーからなる場合
奇妙な部分がある
...サービスが閉じたコンソールアプリケーションで(一番下を参照)、すべてが大丈夫です
PsExecSvcが終了し、"------ Start -----"
がページに表示されます。 (これは私が欲しいものである。)一方
、
@echo off
echo ------ Start -----
echo echo2
exit
PSEXECSVCは、実行の終了時にハングアップします
...
手動で殺すPSEXECSVC、唯一"------ Start -----"
ショーとstderr プリント:
:novi2にPsExecは サービスと通信..PsExecはのv1.98は - プロセスを実行
リモート著作権(C)2001から2010のMark Russinovich氏
のSysinternals - www.sysinternals.com
ハンドルが無効です。 novi2にPsExecはサービスを開始しています...
をnovi2への接続
... novi2にPsExecはサービスとの接続
...
C開始:novi2に/dbInfo.batを。
エラー
バッチファイル内で何が実行されていても、StdOutの最初の行だけがリダイレクトされ、psexecsvcがハングします(ただし、バッチ全体が実行された後は:O)。
実行した場合:
info.bat:
@echo off
cscript /nologo test.vbs
exit
Test.vbsを:
Set objOut = Wscript.StdOut
objOut.WriteLine "----------------------------------"
objOut.Writeline "Win32_OperatingSystem instance"
objOut.Writeline "----------------------------------"
objOut.close
Wscript.quit 666
A ConsoleApplicationがすべてを印刷し、666
IISを返しますがのみ」を取得します---------------------------------- "とStdOutとpsexecsvcがハングします...
ここには、C#でpsexecを実行するために使用されるコードがあります...
Process proc = new Process();
ProcessStartInfo procInfo = new ProcessStartInfo(@"C:/PsExec.exe", @"\\novi2 -u Domain\usernameadmin -p Password C:/info.bat");
procInfo.UseShellExecute = false;
procInfo.RedirectStandardOutput = true;
procInfo.RedirectStandardError = true;
proc.StartInfo = procInfo;
proc.Start();
String output = proc.StandardOutput.ReadToEnd();
String err = proc.StandardError.ReadToEnd();
Trace.WriteLine("Out >> " + output);
Trace.WriteLine("Err >> " + err);
proc.Close();
私はホストのためにIIS 7、ASP MVC3と.NET4.0サーバー上の(VS2010からのサンプルプロジェクト)とWinXPのSP3を使用しています。 問題を回避するため、IISのApplicationPoolはpsexecと同じ管理者アカウントを使用しています。
Lizzそれについてのすべてのソリューションを?これはどうですか?http://www.autoitscript.com/forum/topic/42368-psexecsvcexe-problem/ – Kiquenet