2010-08-29 41 views
3

我已經複製了exe文件,它沒有問題,使用下面的代碼,但現在我想運行它,anyboyd可以幫助我這一點。 注意:我有通過遠程桌面訪問服務器,但無法手動執行此操作,因爲有幾十個,不能像psex或其他任何運行它的程序運行。我想在遠程Windows機器上覆制並運行.exe文件?

WindowsIdentity wi = new WindowsIdentity(token); 

//Next I set the WindowsImportsonationContext 

WindowsImpersonationContext impctx = wi.Impersonate(); 
System.IO.File.Copy("C:\\output.html", "\\\\PW42\\c$\\output1.html", true); 
System.Diagnostics.Process p = new System.Diagnostics.Process(); 
try 
{ 
    System.Diagnostics.Process.Start(@"\\PW42\c$\txt.bat"); 
    //runFile(); 
} 
catch 
{ 
    Console.WriteLine("error"); 
} 
+0

這不是一個主要的安全漏洞嗎? – Marko 2010-08-29 05:39:07

+0

@Marko它可以是一個安全的整體,如果我不能通過遠程桌面訪問電腦,但在我的情況下,我可以做到這一點,我是所有電腦的管理員,所以知道管理員的用戶名和密碼 – shabby 2011-04-09 03:16:41

+0

什麼是令牌?如何得到它? – 2017-10-23 07:20:40

回答

3

根據您在服務器上有什麼樣的訪問,你可以使用一個程序像psexec或使用WMI來遠程啓動該文件。

樣品PSEXEC命令將是

psexec \\computername -u remoteusername filepath(on remote computer) arguments 

PSEXEC可複製該文件預先如果被請求和可以針對計算機代替(用@computer-list.txt替換\\computername)的列表中運行。使用WMI,您需要連接到Win32_Process類並創建一個新對象來啓動它。這個線程中的second post可以工作。

不幸的是,這兩個選項都需要運行工作站提供多個防火牆規則(如RPC和WMI)。如果你的公司只有通過防火牆啓用了RDP訪問,那麼這些都不會起作用。

+0

實際上有數百臺服務器需要通過代碼自動完成,無法安裝psexec謝謝 – shabby 2010-08-30 18:37:51

+1

psexec不需要安裝,它在第一次運行時會自行處理。如果它可以使用管理員憑據訪問遠程計算機,則可以運行psexec。 – Joshua 2010-08-30 18:53:53

相關問題