Hello, aydeisen-
You can use a Where-Object statement to filter the events as desired. Like:
Get-VIEvent | Where-Object {
($_.FullFormattedMessage -like"*Insufficient video RAM*") -or
($_.MessageInfo | ?{$_.id -like"*msg.svgaUI.badLimits*"})
} ## end where-object
This checks for VIEvents whose FullFormattedMessage property is like the given string, or whose MessageInfo property (which is zero or more VirtualMachineMessage objects) has a VirtualMachineMessage object with id property like the given string.
Of course, you would use the other Get-VIEvent parameters for changing the scope of the events initially gathered (for a given entity, a given timeframe, maxSamples, etc). How does that do for you?