EsxCliElementImpl не содержит метод 'install' - PullRequest
0 голосов
/ 06 июня 2018

Я получаю следующую ошибку при попытке установить VIB с помощью сценария powershell через powerCLI.

PowerCLI C: \ vib>. \ Vib_ESXi_script.ps1
Установка VIB на [xxxx]

Ошибка вызова метода, так как [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

Имя типа модуля ExportedCommands
---------- ---- ----------------
Манифест VMware.PowerCLI
Сценарий VMware.Vim
Сценарий VMware.VimAutomation.Nsxt {Connect-NsxtServer, Disconne ...
Сценарий VMware.VimAutomation.Srm {Connect-SrmServer, Отключить ...
Скрипт VMware.VimAutomation.StorageUtility Update-VmfsDatastore
Скрипт VMware.VimAutomation.Vmc {Connect-Vmc, Disconnect-Vmc, ...


Каталог: C: \ Program Files (x86)) \ VMware \ Инфраструктура \ PowerCLI \ Модули


Имя типа модуля Экспортируемые команды
---------- ---- ----------------
Двоичный 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.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

Элементы:
---------
подпись

Элементы метода:
---------
получить
установить
список
удалить
обновить

Методы:
--------
string Help ()

1 Ответ

0 голосов
/ 14 июня 2018

У вас есть два способа исправить проблему.Либо удалите параметр -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

...