Я пытаюсь получить значение настраиваемого атрибута для своего хранилища данных, но сталкиваюсь с проблемой несовместимости типов. Есть ли что-то, что я делаю неправильно ниже, и как это исправить?
PowerCLI C:\> $ds = Get-Datastore -Name YK
PowerCLI C:\> $ds
Name FreeSpaceGB CapacityGB
---- ----------- ----------
YK 14,528.467 14,901.750
PowerCLI C:\> Get-Annotation -Entity $ds -CustomAttribute ykcustattr_global
Get-Annotation : Cannot bind parameter 'Entity'. Cannot convert the "YK" value of type "VMware.VimAutomation.ViCore.Impl.V1.DatastoreManagement.VmfsDatastoreImpl" to type "VMware.VimAutomation.ViCore.Types.V1.Inventory.InventoryItem".
At line:1 char:24
+ Get-Annotation -Entity $ds -CustomAttribute ykcustattr_global
+ ~~~
+ CategoryInfo : InvalidArgument: (:) [Get-Annotation], ParameterBindingException
+ FullyQualifiedErrorId : CannotConvertArgumentNoMessage,VMware.VimAutomation.ViCore.Cmdlets.Commands.GetAnnotation
Примечание 1: Я могу получить настраиваемый атрибут для виртуальной машины, кластера и хоста. Проблема только в хранилище данных.
Заметка 2: Думаю, проблема в том, что Get-Datastore возвращает Объект хранилища данных, а Get-Annotation ожидает InventoryItem объект для -Entity. Неясно, можно ли выполнить приведение / преобразование или что-то в этом роде.
Версия VMware vCenter: 6.5
Спасибо!
Я получил ответ на форуме VMware и решил разместить его здесь. Короче говоря, проблема существует, но есть обходной путь: