从 java 调用 powershell 脚本
Invoke powershell script from java
我正在尝试从 Java 调用一些 powercli 脚本,但它失败了。
我正在使用 VMWare esx
这是我的Java代码:
String command = "cmd.exe C:\Users\mayan\Desktop\scriptPS.ps1";
Process powerShellProcess = Runtime.getRuntime().exec(command);
powerShellProcess.getOutputStream().close();
这是我的脚本(.ps1 文件):
C:\Program Files (x86)\VMware\Infrastructure\vSphere PowerCLI\vim.psc1
Get-VM -Name dev-maya | Get-NetworkAdapter | Set-NetworkAdapter -Connected:$false
Get-VM -Name dev-maya | Get-NetworkAdapter | Set-NetworkAdapter -Connected:$true
Java 调用第一个命令并忽略其余命令。
有人知道如何解决这个问题吗?
请先检查你的模块
get-module
如果你没有添加Hyper-v模块那么
你应该有 Hyper-v 模块来使用 get-vm
ipmo hyperv
对于 hypervisor vmware esxi 你应该往下看 link
vmware esxi via powershell
并添加
ipmo CimCmdlets
尝试更换
C:\Program Files (x86)\VMware\Infrastructure\vSphere PowerCLI\vim.psc1
和
Add-PSSnapin vmware.vimautomation.core
您还需要 运行 connect-viserver
正如其他答案中所暗示的那样。
我正在尝试从 Java 调用一些 powercli 脚本,但它失败了。
我正在使用 VMWare esx
这是我的Java代码:
String command = "cmd.exe C:\Users\mayan\Desktop\scriptPS.ps1";
Process powerShellProcess = Runtime.getRuntime().exec(command);
powerShellProcess.getOutputStream().close();
这是我的脚本(.ps1 文件):
C:\Program Files (x86)\VMware\Infrastructure\vSphere PowerCLI\vim.psc1
Get-VM -Name dev-maya | Get-NetworkAdapter | Set-NetworkAdapter -Connected:$false
Get-VM -Name dev-maya | Get-NetworkAdapter | Set-NetworkAdapter -Connected:$true
Java 调用第一个命令并忽略其余命令。
有人知道如何解决这个问题吗?
请先检查你的模块
get-module
如果你没有添加Hyper-v模块那么 你应该有 Hyper-v 模块来使用 get-vm
ipmo hyperv
对于 hypervisor vmware esxi 你应该往下看 link vmware esxi via powershell 并添加
ipmo CimCmdlets
尝试更换
C:\Program Files (x86)\VMware\Infrastructure\vSphere PowerCLI\vim.psc1
和
Add-PSSnapin vmware.vimautomation.core
您还需要 运行 connect-viserver
正如其他答案中所暗示的那样。