I am trying to get a custom attribute value for my datastore, but bumping into an issue with type incompatibility. Is there anything I am doing wrong below, and how to fix it?
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
Note 1: I am able to get a custom attribute for a virtual machine, cluster and host. The problem is with the Datastore only.
Note 2: I guess the problem is that Get-Datastore returns Datastore object, while Get-Annotation expects InventoryItem object for -Entity. It is not clear if it is possible to do a cast/transformation or anything like that.
VMware vCenter version: 6.5
Thank you!