2011-02-05 49 views
0

我試圖在網頁上運行遠程主機上的.bat文件。從IIS運行PsExec:掛在遠程主機上的PsExecSVC

執行批處理後,PSEXECSVC(主機上)將掛起並且不會關閉,導致服務器無限期地等待。
當運行完全相同的代碼(參見下圖)在控制檯應用程序的服務關閉,一切都很好...

怪異的一部分是當批處理文件包含一個襯墊回聲:

@echo off 
echo ------ Start ----- 
exit 

PsExecSvc將關閉,"------ Start -----"顯示在頁面上。 (這是我想要的..)

在另一方面,

@echo off 
echo ------ Start ----- 
echo echo2 

exit 

PSEXECSVC將在執行結束掛...

當手動查殺PSEXECSVC,只有"------ Start -----"節目和標準錯誤 打印:

PSEXEC v1.98 - 執行過程 遠程

版權所有(C)2001-2010馬克 Russinovich編寫

的Sysinternals - www.sysinternals.com

的句柄無效。

連接到novi2 ...

開始對novi2 PSEXEC服務...

上 novi2與PSEXEC服務連接...

開始C:/dbInfo.bat上novi2。 ..

錯誤與PSEXEC 服務通信上novi2:

不管是在批處理文件運行時,只有標準輸出的第一行被重定向和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 

一個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相同的管理員帳戶。

+0

任何有關它的解決方案嗎?這個怎麼樣:http://www.autoitscript.com/forum/topic/42368-psexecsvcexe-problem/ – Kiquenet

回答

2

問題很可能是遠程主機(novi2)上的PSExecSvc沒有自行清理,現在需要先刪除才能成功運行。我現在添加以下的每個腳本的啓動PSEXEC對遠程主機的結尾:

sc \\novi2 delete PSExecSvc 

另外,如果你在實例PSEXEC ,而不是對抗,遠程主機,那麼你會需要確保你添加開關接受其EULA,像這樣:

psexec \\HOST1 /accepteula -u userid -p password COMMAND 

希望幫助, LIZZ

相關問題