我有一個位於公司網絡上的服務器A上的批處理文件。 我有一個.Net/C#應用程序運行在網絡上的用戶計算機上,通過它我需要在服務器A上編程執行這個批處理文件(使用C#)。這可能嗎? 如果是,請指點?在服務器上遠程執行批處理文件
感謝您的幫助。
我有一個位於公司網絡上的服務器A上的批處理文件。 我有一個.Net/C#應用程序運行在網絡上的用戶計算機上,通過它我需要在服務器A上編程執行這個批處理文件(使用C#)。這可能嗎? 如果是,請指點?在服務器上遠程執行批處理文件
感謝您的幫助。
看一看PsExec v2.0:
實用程序如Telnet和遠程控制程序,如Symantec的PC 任何地方讓你執行遠程系統上的程序,但他們可以是一個 疼痛設置和需要你在您希望訪問的 遠程系統上安裝客戶端軟件。 PsExec是一個輕量級的 telnet替換,它允許您在其他系統上執行進程, 完全兼容控制檯應用程序,而不需要 必須手動安裝客戶端軟件。 PsExec最強大的 用途包括在遠程系統 和遠程啓用工具(如IpConfig)上啓動交互式命令提示,否則這些工具不具備顯示有關遠程系統信息的 能力。
如果您需要.NET解決方案,最好實施一個PowerShell集成的解決方案。具體看看PowerShell Running Remote Commands documentation。請特別注意在遠程控制檯上運行腳本的Invoke-Command cmdlet。
的Windows PowerShell遠程
Windows PowerShell遠程處理,它使用WS-Management協議, 讓您在一個或多個遠程 計算機上運行任何Windows PowerShell命令。它可讓您建立持續連接,啓動1:1 交互式會話,並在多臺計算機上運行腳本。
與 「純」 批處理命令和沒有外部工具:
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
WCF聽起來像是超級殺手... –
不像V-X指出的那樣,他會認證和授權。否則,執行批處理文件是不可能的。 – LueTm
C#充滿了這樣的過度使用。有了足夠的安全性,WCF是一種可以接受的矯枉過正......(讓我們嘗試找到並修改一些簡單的例子) –