在服务器上远程执行批处理文件

时间:2014-01-05 07:54:15

标签: c# batch-file

我有一个批处理文件,位于我们公司网络的服务器A上。 我在网络上的用户机器上运行了一个.Net / C#应用程序,我需要在服务器A上以编程方式(使用C#)执行此批处理文件。这可能吗? 如果有,请指点吗?

感谢您的帮助。

5 个答案:

答案 0 :(得分:2)

答案 1 :(得分:2)

查看PsExec v2.0

  

像Telnet这样的实用程序和Symantec的PC等远程控制程序   Anywhere允许您在远程系统上执行程序,但它们可以是一个   设置的痛苦,并要求您在上安装客户端软件   您希望访问的远程系统。 PsExec重量轻   telnet替换,允许您在其他系统上执行进程,   完整的控制台应用程序的完全交互性,没有   必须手动安装客户端软件。 PsExec最强大   用途包括在远程系统上启动交互式命令提示   和IpConfig等远程启用工具,否则没有   能够显示有关远程系统的信息。

答案 2 :(得分:0)

有可能在服务器上执行批处理文件是一个安全漏洞!

我建议在服务器上创建一个服务器应用程序。

答案 3 :(得分:0)

如果您需要.NET解决方案,最好实现PowerShell集成的解决方案。具体来看PowerShell Running Remote Commands documentation。具体来说,请查看在远程数据库上运行脚本的Invoke-Command cmdlet。

  

Windows PowerShell远程处理

     

Windows PowerShell远程处理,它使用WS-Management协议,   允许您在一个或多个远程上运行任何Windows PowerShell命令   电脑。它允许您建立持久连接,从1:1开始   交互式会话,并在多台计算机上运行脚本。

答案 4 :(得分: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的效果会更好。