从sqlserver向windows机器发出终端命令

时间:2016-10-04 06:39:03

标签: sql-server windows cmd telnet psexec

我有一个 sqlserver ,比如serverA和一个 windows machine ,比如machineA。

我在serverA中有一个testrun。 bat 文件,我需要在serverA中完成某个进程后运行。

我了解到我可以使用 PSExec 从serverA向machineA发出终端命令。

我只是想知道我是否可以使用Microsoft Telnet服务来做到这一点?因为某些安全问题,我不确定是否允许在服务器A中安装PSExec。

基本上,我只是在寻找B计划,以防我无法使用PSExec。我意识到我可以使用的另一种方式是Microsoft telnet,但我不确定它是如何或甚至是可能的。

其他详情:

  • serverA运行Windows Server 2012
  • 计算机A运行Windows 7企业版

1 个答案:

答案 0 :(得分:1)

只需使用原生wmic命令即可​​。

wmic /user:<username> /password:<password> /node:<machine> process call create "cmd /c c:\somewhere\myBatchFile.cmd"

请记住

  • 在远程计算机上创建进程时,批处理文件必须存在于该文件中且路径必须反映远程计算机中的位置

  • 该过程在指定的用户下启动,可能在单独的会话中。您可能看不到批处理文件正在运行,请检查进程列表

  • 如果批处理文件的路径包含空格,则需要将其引用为

 wmic ... call create "cmd /c \"c:\some where\My Batch.cmd\""