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

问题描述 投票:0回答:2

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

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

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

batch-file remote-server
2个回答
0
投票

我发现这有效:

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

0
投票

Start-Process不是用来启动脚本,而是用来启动进程,例如真正的exectuables。

你有一些选择(你已经发现了一个):

  • 使用Dot采购{. "C:\things\thing.bat"}
  • 使用Call运算符{& "C:\things\thing.bat"}

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

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

© www.soinside.com 2019 - 2024. All rights reserved.