So, these two appear to be very similar at first glance. However, depending on the data one wants to filter in on, one is significantly better than the other. For me, the bottom line is using Get-Eventlog for filtering the Security Event Log is much faster. That’s what I needed to know.
An article by Mark Berry was very helpful:
Conclusions
-
If you’re writing a PowerShell script to handle events from Vista or Server 2008, avoid the Get-WinEvent –FilterHashtable parameter; use –FilterXML instead.
-
Even on Vista and beyond, consider using Get-EventLog if you need to filter the Security log for Audit Failures.