有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

通过Java远程运行Powershell脚本

我可以通过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();

错误

Cannot run program "invoke-command": CreateProcess error=2, The system cannot find the file specified

另外,错误与提供的文件路径无关,而是与invoke命令本身有关

谢谢


共 (1) 个答案

  1. # 1 楼答案

    正如您所写invoke-command是一个Powershell命令,因此您必须调用Powershell来运行该命令,如下所示:

    Process p = new ProcessBuilder()
                    .inheritIO()
                    .command("powershell", "invoke-command", "-computername", "compName",
                            "-filepath", "C:\\script.ps1").start();