EsxCliElementImpl不包含方法'install'

时间:2018-06-06 15:29:00

标签: install powercli

尝试使用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.Horizo​​nView
二进制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

元素:
---------
签名

     

方法要素:
---------
得到安装
  清单
删除
更新

     

方法:
--------
字符串帮助()

1 个答案:

答案 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