尝试使用powershell脚本通过powerCLI安装VIB时出现以下错误。
PowerCLI C:\ vib> 。\ vib_ESXi_script.ps1
安装VIB [x.x.x.x]
方法调用失败,因为 [VMware.VimAutomation.ViCore.Impl.V1.EsxCli.EsxCliElementImpl]没有 包含一个名为'install'的方法。
在 C:\ vib \ vib_ESXi_script.ps1:233 char:1
+ $ action = $ ESXCLI.software.vib.install($ null,$ null,$ null,$ null,$ null,$ true,$ null ... + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo:InvalidOperation :( install:String)[],RuntimeEx ception + FullyQualifiedErrorId:MethodNotFound
我已经检查过是否安装了powercli模块并且它在那里:
PowerCLI C:\ vib> Get-Module -Name VMware。* -ListAvailable
目录:C:\ WindowsPowerShell \ Modules
ModuleType名称ExportedCommands
---------- ---- ----------------
显示VMware.PowerCLI
脚本VMware.Vim
脚本VMware.VimAutomation.Nsxt {Connect-NsxtServer,Disconne ...
脚本VMware.VimAutomation.Srm {Connect-SrmServer,Disconnec ...
脚本VMware.VimAutomation.StorageUtility Update-VmfsDatastore
脚本VMware.VimAutomation.Vmc {Connect-Vmc,Disconnect-Vmc,...
目录:C:\ Program Files(x86)\ VMware \ Infrastructure \ PowerCLI \ Modules
ModuleType名称ExportedCommands
---------- ---- ----------------
二进制VMware.DeployAutomation
二进制VMware.ImageBuilder
二进制VMware.VimAutomation.Cis.Core
二进制VMware.VimAutomation.Cloud
清单VMware.VimAutomation.Common
二进制VMware.VimAutomation.Core HookGetViewAutoCompleter
二进制VMware.VimAutomation.HA
二进制VMware.VimAutomation.HorizonView
二进制VMware.VimAutomation.License
二进制VMware.VimAutomation.PCloud
清单VMware.VimAutomation.Sdk Get-PSVersion
二进制VMware.VimAutomation.Storage
二进制VMware.VimAutomation.Vds
二进制VMware.VimAutomation.vROps
二进制VMware.VumAutomation
我的代码是:
$ESXCLI = Get-EsxCli -VMHost $hostName -V2
$action = $ESXCLI.software.vib.install($null,$null,$null,$null,$null,$true,$null,$null,$VIBPATH)
我已经检查过该方法是否真的受到支持:
PowerCLI C:\ vib> $ ESXCLI.software.vib
==================
EsxCliElement:vib
元素:
---------
签名
方法要素:
---------
得到安装
清单
删除
更新
方法:
--------
字符串帮助()
答案 0 :(得分:1)
您有两种方法可以解决问题。从您拥有的内容中删除-v2
参数,或保留它(推荐)并将脚本的第二部分更新为如下所示:
$args = $esxcli.software.vib.install.CreateArgs()
$args.viburl = $VIBPATH #This is an assumption on my part on what the variable is referencing
$esxcli.software.vib.install.invoke($args)
以下链接提供了有关使用v2
参数的更多信息:https://blogs.vmware.com/PowerCLI/2016/04/powercli-6-3-r1-get-esxcli-why-the-v2.html