2013-07-09 39 views
0

我使用WMI在遠程計算機上創建Win32Process(cmd.exe)。使用單個Win32Process的PID運行許多命令

C:\Users\ayush_m>wmic /node:10.0.0.0 /user:ayush_m /password:pwd PROCESS CALL Create "cmd.exe" 
Executing (Win32_Process)->Create() 
Method execution successful. 
Out Parameters: 
instance of __PARAMETERS 
{ 
     ProcessId = 10088; 
     ReturnValue = 0; 
}; 

的ProcessID通過WMI(10088)返回是cmd.exe進程的PID在遠程機器啓動。現在我想運行一些其他命令,如mkdir或複製或使用上面的PID運行一個exe文件.i.e使用我上面的PID(10088)並在該機器上運行更多的命令。

我基本上不想在每次運行命令時都創建一個新的Win32Process。請提出任何想法或意見。

在此先感謝您的幫助。

+3

您不能使用相同的cmd.exe實例來運行新的命令,而是可以執行批處理文件(.bat)來執行多個任務。 – RRUZ

回答

0

從我的理解你可能會尋找一些遠程外殼 - 你嘗試使用PsExec? Wmic只是產生一個過程,但不會對其進行任何控制。正如RRUZ所建議的那樣,創建一個BAT/VBS文件來執行您所需的操作,或者如果您的環境支持PowerShell,那麼PowerShell會執行這些操作。

綜上所述:

  1. 進行交互式控制檯 - 使用PSEXEC
  2. 要執行一系列任務(例如創建C:\ mydirectory中,並把一些日誌有) - 創建一個BAT/VBS文件並使用wmic調用它,就像您使用cmd.exe一樣
  3. 如果您需要自動化,PowerShell在這裏肯定會有所幫助。它的設計充分考慮自動化創建的,所以利用它:-)

最好的問候,AlexP

(我不知道如果我此刻不墳挖,問題是我剛剛注意到的相當老,但仍然沒有答案)