我可以通过Powershell本身运行以下powershell命令,
invoke-command -ComputerName "compName" -filepath "c:\script.ps1" -credential "admin"
但是当我尝试通过Java运行时,我收到一个错误。听起来像“Invoke-command”不被认为是通过Java运行的程序。如果是这种情况,还有其他解决方案吗?
Process p = new ProcessBuilder()
.inheritIO()
.command("invoke-command", "-computername", "compName",
"-filepath", "C:\\script.ps1").start();
错误,
无法运行程序“invoke-command”:CreateProcess error = 2,系统找不到指定的文件
P.S。该错误与提供的filePath无关,而是与invoke-command本身有关。
谢谢。
答案 0 :(得分:4)
正如您所写invoke-command
是一个Powershell命令,因此您必须调用Powershell tu运行命令,如下所示:
Process p = new ProcessBuilder()
.inheritIO()
.command("powershell", "invoke-command", "-computername", "compName",
"-filepath", "C:\\script.ps1").start();