2014-01-05 176 views
2

我有一個位於公司網絡上的服務器A上的批處理文件。 我有一個.Net/C#應用程序運行在網絡上的用戶計算機上,通過它我需要在服務器A上編程執行這個批處理文件(使用C#)。這可能嗎? 如果是,請指點?在服務器上遠程執行批處理文件

感謝您的幫助。

回答

2
+0

WCF聽起來像是超級殺手... –

+0

不像V-X指出的那樣,他會認證和授權。否則,執行批處理文件是不可能的。 – LueTm

+0

C#充滿了這樣的過度使用。有了足夠的安全性,WCF是一種可以接受的矯枉過正......(讓我們嘗試找到並修改一些簡單的例子) –

0

有可能在服務器上執行批處理文件是一個安全漏洞!

我建議在服務器機器上創建一個服務器應用程序。

+0

我想說這個陳述有點寬泛。只有盡職盡責才能做到。 – LueTm

2

看一看PsExec v2.0

實用程序如Telnet和遠程控制程序,如Symantec的PC 任何地方讓你執行遠程系統上的程序,但他們可以是一個 疼痛設置和需要你在您希望訪問的 遠程系統上安裝客戶端軟件。 PsExec是一個輕量級的 telnet替換,它允許您在其他系統上執行進程, 完全兼容控制檯應用程序,而不需要 必須手動安裝客戶端軟件。 PsExec最強大的 用途包括在遠程系統 和遠程啓用工具(如IpConfig)上啓動交互式命令提示,否則這些工具不具備顯示有關遠程系統信息的 能力。

0

如果您需要.NET解決方案,最好實施一個PowerShell集成的解決方案。具體看看PowerShell Running Remote Commands documentation。請特別注意在遠程控制檯上運行腳本的Invoke-Command cmdlet。

的Windows PowerShell遠程

Windows PowerShell遠程處理,它使用WS-Management協議, 讓您在一個或多個遠程 計算機上運行任何Windows PowerShell命令。它可讓您建立持續連接,啓動1:1 交互式會話,並在多臺計算機上運行腳本。

0

與 「純」 批處理命令和沒有外部工具:

wmic /NODE:Server /USER:user /PASSWORD:pass process call create "command parameters","c:\workdir" 

雖然WMIC不適用於Windows XP家庭版本(但WMI類可用,所以你可以使用C#查詢)。

它使用WIN32_PROCESS類。 Here how it can be used with C#More C#\WMI examples

從Vista及以上你還WINRS命令(可能是可能也與XP中使用的一些資源工具包):

winrs -r:myserver command /domain:testdomain /userd:user /password:pass 

您還可以檢查XCMD在某些情況下工作比PsExec更好。

相關問題