是否可以使用 Get-VIEvent PowerCLI 命令获取特定数据存储的事件?如果是,如何?我已经为虚拟机尝试了这个选项,它可以工作:
Get-VIEvent -Entity 'vm_name' | Where-Object {($_.FullFormattedMessage -match '*') }
但它不适用于数据存储,我很好奇为什么?
是否可以使用 Get-VIEvent PowerCLI 命令获取特定数据存储的事件?如果是,如何?我已经为虚拟机尝试了这个选项,它可以工作:
Get-VIEvent -Entity 'vm_name' | Where-Object {($_.FullFormattedMessage -match '*') }
但它不适用于数据存储,我很好奇为什么?
据我所知,实体参数正在寻找“VIObject”类型的对象,并且数据存储没有被引用为“VIObject”类型:https ://code.vmware.com/doc/preview?id =5975#/doc/Get-VIEvent.html
一种解决方法,Get-VIEvent 确实具有您可以引用的 Ds 属性。例子:
PS C:\Users\kruddy> Get-VIEvent | Where-Object {$_.Ds.Name -like 'esxinfs01'}
Datastore : VMware.Vim.DatastoreEventArgument
Key : 207208
ChainId : 207208
CreatedTime : 12/18/2017 12:11:35 PM
UserName :
Datacenter : VMware.Vim.DatacenterEventArgument
ComputeResource :
Host :
Vm :
Ds : VMware.Vim.DatastoreEventArgument
Net :
Dvs :
FullFormattedMessage : Reconfigured Storage I/O Control on datastore esxinfs01
ChangeTag :
PS C:\Users\kruddy> Get-VIEvent | Where-Object {$_.Ds.Name -like 'esxinfs01'} | Select-Object FullFormattedMessage
FullFormattedMessage
--------------------
Reconfigured Storage I/O Control on datastore esxinfs01
PS C:\Users\kruddy>