尝试使用PowerShell在远程PC上执行.bat文件时没有错误或结果

时间:2017-04-19 03:30:09

标签: batch-file remote-server

我已经阅读了很多关于如何在远程PC上运行.bat文件的示例,而我需要的是基于PowerShell invoke-command:

invoke-command -computername RemotePC -scriptblock {start-process c:\things\Thing.bat}

当我运行PowerShell系列时,它不会在远程PC上运行.bat文件并且不会返回错误。请帮忙。

2 个答案:

答案 0 :(得分:0)

我发现这有效:

invoke-command -computername RemotePC -scriptblock {& "c:\things\Thing.bat"}

答案 1 :(得分:0)

Start-Process并非用于启动脚本,而是用于启动进程,例如真正的可执行文件。

不过,您还有其他选择(您已经找到了):

  • 使用点采购{. "C:\things\thing.bat"}
  • 使用呼叫运算符{& "C:\things\thing.bat"}

两个操作(ref.: Source-Powershell-SS64)之间的区别:

  

点源在当前范围内运行功能或脚本。   与将运行函数或脚本的调用运算符(&)不同,但是   它不会添加到当前范围。