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

issue a terminal command from an sqlserver to a windows machine

我有一个 sqlserver,比如服务器 A,还有一个 windows 机器,比如机器 A。

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

我了解到我可以使用 PSExec 从服务器 A 向机器 A 发出终端命令。

我只是想知道是否可以使用 Microsoft Telnet 服务来完成此操作?因为出于某些安全考虑,我不确定是否允许在服务器 A 中安装 PSExec。

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

其他详细信息:

只需使用本机 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\""