Event logs contain hugely useful information about almost any aspect of your Windows system. When using the deprecated Get-EventLog cmdlet, however, only a fraction of this information is accessible because this cmdlet can only access the older classic logs. That’s why the cmdlet was removed from PowerShell 7 altogether.
In PowerShell 3, a faster and more powerful replacement cmdlet was added: Get-WinEvent. This cmdlet can filter any log file, based on query items provided in a hash table.
For example, this one-liner dumps all events written by the Windows Update Client using the event ID 19, across all event log files:
Get-WinEvent -FilterHashTable @{ ID=19 ProviderName='Microsoft-Windows-WindowsUpdateClient' } | Select-Object -Property TimeCreated, Message
The result is a list of installed updates:
TimeCreated Message ----------- ------- 05.05.2021 18:13:34 Installation erfolgreich: Das folgende Update wurde installiert. Security Intelligence-Update für Microsoft Defender Antivirus - KB2267602 (Version 1.337.679.0) 05.05.2021 00:11:33 Installation erfolgreich: Das folgende Update wurde installiert. Security Intelligence-Update für Microsoft Defender Antivirus - KB2267602 (Version 1.337.615.0) 04.05.2021 12:07:03 Installation erfolgreich: Das folgende Update wurde installiert. Security Intelligence-Update für Microsoft Defender Antivirus - KB2267602 (Version 1.337.572.0) 03.05.2021 23:54:58 Installation erfolgreich: Das folgende Update wurde installiert. Security Intelligence-Update für Microsoft Defender Antivirus - KB2267602 (Version 1.337.528.0) ...