我正在尝试从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调用第一个命令并忽略其余命令。
有谁知道如何解决这个问题?
答案 0 :(得分:0)
请先检查您的模块
get-module
如果您还没有添加Hyper-v模块 你应该有Hyper-v模块使用get-vm
ipmo hyperv
对于hypervisor vmware esxi,你应该看到下行链接 vmware esxi via powershell 并添加
ipmo CimCmdlets
答案 1 :(得分:0)
尝试替换
C:\Program Files (x86)\VMware\Infrastructure\vSphere PowerCLI\vim.psc1
带
Add-PSSnapin vmware.vimautomation.core
您还需要按照其他答案的含义运行connect-viserver
。