Installation ESXcelelementImpl不';t包含一个方法';安装&x27;

Installation ESXcelelementImpl不';t包含一个方法';安装&x27;,installation,powercli,Installation,Powercli,我在尝试通过powerCLI使用powershell脚本安装VIB时遇到以下错误 PowerCLI C:\vib>\vib\u ESXi\u script.ps1在上安装vib [x.x.x.x]方法调用失败,因为 [VMware.VimAutomation.ViCore.Impl.V1.EsxCli.EsxCliElementImpl]没有 包含名为“安装”的方法。位于 C:\vib\vib_ESXi_script.ps1:233 char:1 +$action=$ESXCLI.softwar

我在尝试通过powerCLI使用powershell脚本安装VIB时遇到以下错误

PowerCLI C:\vib>\vib\u ESXi\u script.ps1
在上安装vib [x.x.x.x]

方法调用失败,因为 [VMware.VimAutomation.ViCore.Impl.V1.EsxCli.EsxCliElementImpl]没有 包含名为“安装”的方法。

位于 C:\vib\vib_ESXi_script.ps1:233 char:1
+$action=$ESXCLI.software.vib.install($null、$null、$null、$null、$null、$true、$null) ... +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +CategoryInfo:InvalidOperation:(安装:字符串)[],RuntimeEx异常 +FullyQualifiedErrorId:MethodNotFound



我已检查powercli模块是否已安装,并且是否已安装:

PowerCLI C:\vib>Get模块-名称VMware.*-列表可用

目录:C:\WindowsPowerShell\Modules

ModuleType名称导出命令
----------------
清单VMware.PowerCLI
脚本VMware.Vim
脚本VMware.VimAutomation.Nsxt{Connect NsxtServer,discone…
脚本VMware.VimAutomation.Srm{Connect SrmServer,disconec…
脚本VMware.VimAutomation.StorageUtility更新VmfsDatastore
脚本VMware.VimAutomation.Vmc{连接Vmc,断开Vmc,…


目录:C:\Program Files(x86)\VMware\Infrastructure\PowerCLI\Modules


ModuleType名称导出命令
----------------
二进制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获取PSVersion
二进制VMware.VimAutomation.Storage
二进制VMware.VimAutomation.Vds
二进制VMware.VimAutomation.vROps
二进制VMware.VumAutomation


我的代码是:

我已经检查了该方法是否确实受支持:

PowerCLI C:\vib>$ESXCLI.software.vib

=============
esxcelelement:vib

元素:
------
签名

方法元素:
-----------
获取
安装
列表
删除
更新

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


您有两种方法来纠正此问题。要么从现有参数中删除
-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
参数的更多信息,请参见以下链接:

我认为v2方法使用invoke()。也就是说,如果我使用,$esxcli.network.nic.list()我会收到一个错误,但如果我使用$esxcli.network.nic.list.invoke()我得到一个结果上述方法修复了无安装方法问题。但是,现在它抱怨String模块。[VibDownloadError]模块“String”没有“get module-ListAvailable | Format Table-Property Name,Version”的属性“letters”输出没有列出字符串。我在command而不是script上运行了上述命令,我认为问题在于@args.viburl行。这就是我看到的:在此对象上找不到属性“viburl”;请确保它存在并且可设置。
$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)