是否可以使用Get-VIEvent PowerCLI命令获取特定数据存储的事件?如果是的话怎么样?我已经尝试过这个虚拟机选项,它可以工作:
Get-VIEvent -Entity 'vm_name' | Where-Object {($_.FullFormattedMessage -match '*') }
但它不适用于数据存储,我很好奇为什么?
据我所知,entity参数正在寻找类型为'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>