如何在远程机器上启动.cmd文件?

我需要能够从该文件驻留在该计算机上的目录内启动位于远程计算机上的.cmd文件。

我已经尝试过: invoke-command -ComputerName test123 -ScriptBlock { cmd /cc:/myfile.cmd }invoke-command -ComputerName test123 -ScriptBlock { cmd /cc:/myfile.cmd }中,启动.cmd,但然后失败,因为它找不到相应的.cmds,这一个启动这些都位于同一个目录中)。

有没有办法启动这个.cmd文件,并保持执行? 即,即使PowerShell窗口closures后,.cmd将继续在远程机器上运行。

Solutions Collecting From Web of "如何在远程机器上启动.cmd文件?"

您需要更改脚本块中的工作目录。 在调用批处理脚本之前添加一个Set-Location

 Invoke-Command -ComputerName test123 -ScriptBlock { Set-Location 'C:\' & cmd /c ".\myfile.cmd" } 

如果你需要创建一个独立的进程,你可以通过WMI来实现:

 $hostname = 'test123' $command = 'C:\path\to\script.cmd' $workdir = 'C:\working\directory' $p = [wmiclass]"\\$hostname\root\cimv2:Win32_Process" $p.Create($command, $workdir) 

请注意,您需要在远程主机上的管理权限。