将批处理文件发送到 Windows 机器,并执行它

Luc*_*eis 1 windows remote batch pstools

我知道 PsExec 非常适合通过网络上的计算机发送文件,然后在该远程计算机上执行它,但是我不能使用 PsExec,因为我正在开发一个软件,我不能将 PsExec 作为依赖项(出于法律原因等)。

在远程计算机上实现执行部分的最简单方法是什么?真的有那么难吗?我已经在用 xcopy 复制 .​​bat 文件了……我只需要运行它。

jsc*_*ott 5

您可以使用 WMI 远程执行脚本或二进制文件。这是一个用 VBS 编写的最小示例,它运行C:\test.cmd位于远程计算机FCSD-ISC1上的批处理文件。

strComputer = "FCSD-ISC1"
Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2:Win32_Process")
objWMIService.Create "C:\test.cmd", null, null, intProcessID
Run Code Online (Sandbox Code Playgroud)

这篇 Scripting Guy 文章对此进行了更详细的介绍