PowerShell i logi, czyli wszystko, co musisz wiedzieć o pracy z Dziennikiem Zdarzeń

PowerShell i dziennik zdarzeń

Budowa

💡Warto wiedzieć

Dziennik zdarzeń

Aplikacja (Application)

Gromadzi zdarzenia związane z oprogramowaniem zainstalowanym na komputerze. Aplikacje obecne w systemie będą tutaj raportowały o swoim działaniu i ewentualnych problemach.

Zabezpieczenia (Security)

Zawiera zdarzenia związane z bezpieczeństwem komputera. Zaliczamy tu głównie operacje logowania użytkowników oraz dostępu do konkretnych zasobów.

Ustawienia (Setup)

zawiera informacje o procesie instalacji lub aktualizacji systemu Windows. Plik ten pomaga w rozwiązywaniu problemów związanych z konfiguracją systemu.

System (System)  

Przechowuje zdarzenia związane z plikami systemowymi Windows i działaniem systemu. Przykładowo można tu spotkać informacje dotyczące procesu uruchamiania jądra czy działania poszczególnych aplikacji.

Zdarzenia przesyłane (Forwarded Events) 

Są to zdarzenia z innych komputerów w sieci, które zostały przekazane do komputera użytkownika. W systemie Windows można skonfigurować komputery zdalne, aby automatycznie przesyłały swoje zdarzenia.

Krytyczny (Critical)
Oznaczenie: 1

Zdarzenia krytyczne oznaczają poważne awarie lub błędy, które mogą znacząco zakłócić działanie systemu. Wymagają natychmiastowej uwagi administratora, ponieważ mogą prowadzić do utraty danych lub niestabilności systemu. Przykłady obejmują awarie sprzętu, systemowe błędy krytyczne oraz nieoczekiwane zatrzymania systemu lub aplikacji.

Błąd (Error)
Oznaczenie: 2

Zdarzenia błędów informują o problemach, które mogą prowadzić do nieprawidłowego działania systemu lub aplikacji, ale nie są na tyle poważne, aby spowodować całkowite zatrzymanie pracy systemu. Niektóre typowe przykłady to awarie aplikacji, awarie łączności sieciowej czy błędy dysku.

Ostrzeżenie (Warning) 
Oznaczenie: 3

Ostrzeżenia sygnalizują potencjalne problemy lub nieprawidłowości, które mogą wymagać uwagi, ale niekoniecznie wskazują na poważne problemy. Ostrzeżenia mogą sugerować, że coś jest niezgodne z oczekiwaniami, ale system nadal działa poprawnie. Do najczęstszych ostrzeżeń możemy zaliczyć te dotyczące wydajności, brakujących konfiguracji czy sygnały ostrzegawcze przed wystąpieniem problemów.

Informacja (Information)
Oznaczenie: 4 

Zdarzenia informacyjne to ogólne informacje o działaniach systemu lub aplikacji. Są one używane do śledzenia normalnych operacji i działania systemu oraz do udokumentowania działań użytkowników. Przykłady obejmują logowanie zalogowanych użytkowników, rozpoczęcie/zakończenie procesów i inne rutynowe operacje.

Pełny (Verbose)
Oznaczenie: 5

Zdarzenia te rejestrują szczegółowe informacje o działaniu systemu lub aplikacji. Zazwyczaj są one używane w celu debugowania i analizy problemów. Ich wadą jest generacja sporej ilości danych.

PowerShell i dziennik zdarzeń

PS C:\Users\Admin> Get-EventLog -LogName System -Newest 10

   Index Time          EntryType   Source                 InstanceID Message
   ----- ----          ---------   ------                 ---------- -------
   43843 Apr 16 20:37  Information Service Control Man…   1073748864 The start type of the Usługa inteligentnego trans…
   43842 Apr 16 20:34  Information Service Control Man…   1073748864 The start type of the Usługa inteligentnego trans…
   43841 Apr 16 20:27  Information Microsoft-Windows-K…          566 The description for Event ID '566' in Source 'Mic…
   43840 Apr 16 19:36  Information Microsoft-Windows-T…          158 The time provider 'VMICTimeProvider' has indicate…
   43839 Apr 16 19:18  Information Microsoft-Windows-T…          158 The time provider 'VMICTimeProvider' has indicate…
   43838 Apr 16 19:01  Information Microsoft-Windows-T…          158 The time provider 'VMICTimeProvider' has indicate…
   43837 Apr 16 18:55  Information Service Control Man…   1073748864 The start type of the Usługa inteligentnego trans…
   43836 Apr 16 18:54  Information Microsoft-Windows-K…          566 The description for Event ID '566' in Source 'Mic…
   43835 Apr 16 18:53  Information Service Control Man…   1073748864 The start type of the Usługa inteligentnego trans…
   43834 Apr 16 18:44  Information Microsoft-Windows-T…          158 The time provider 'VMICTimeProvider' has indicate…

Zdalne dzienniki zdarzeń

Get-EventLog -LogName Application –EntryType Error -ComputerName D01 –Newest 5 | Select MachineName, TimeGenerated, Source, Message 
PS C:\Users\Admin> Get-WinEvent -FilterHashtable @{LogName='System'; ID='6008'} -MaxEvents 1

   ProviderName: EventLog

TimeCreated                     Id LevelDisplayName Message
-----------                     -- ---------------- -------
17/03/2025 10:11:57           6008 Error            The previous system shutdown at 22:04:41 on ‎16.‎03.‎2025 was unexpected.

💡Warto wiedzieć

Kiedy NIE używać Get-EventLog

Gdy kluczowa jest wydajność lub filtrowanie po stronie źródła

Gdy zależy Ci na analizie czasu zdarzeń

Gdy pracujesz z dużą liczbą komputerów zdalnych

Gdy chcesz budować automatyzację lub zaawansowane pipeline’y

Zajętość dzienników zdarzeń

PS C:\Users\Admin> Get-WinEvent -ListLog Application, System, Setup | Select-Object LogName, Logtype, LogMode, RecordCount, @{Name="Zajętość"; Expression={"{0,6:P0}" -f ($_.FileSize/$_.MaximumSizeInBytes)}} | ft

LogName            LogType  LogMode RecordCount Zajętość
-------            -------  ------- ----------- --------
Application Administrative Circular       15330    55%
System      Administrative Circular       37084   100%
Setup          Operational Circular        2434   100%

Twoje własne logi

PS C:\Windows\System32> New-EventLog -LogName 'PowerShellZone' -Source 'Moje zdarzenie'
PS C:\Windows\System32> Get-EventLog -List

  Max(K) Retain OverflowAction        Entries Log
  ------ ------ --------------        ------- ---
  20,480      0 OverwriteAsNeeded      15,526 Application
  20,480      0 OverwriteAsNeeded           0 HardwareEvents
     512      7 OverwriteOlder              0 IntelAudioServiceLog
     512      7 OverwriteOlder              0 Internet Explorer
  20,480      0 OverwriteAsNeeded           0 Key Management Service
     128      0 OverwriteAsNeeded         173 OAlerts
     512      7 OverwriteOlder            508 OneApp_IGCC
     512      7 OverwriteOlder              0 PowerShellZone
  20,480      0 OverwriteAsNeeded      32,398 Security
  20,480      0 OverwriteAsNeeded      37,153 System
  15,360      0 OverwriteAsNeeded       7,483 Windows PowerShell

Pierwszy wpis

PS C:\Windows\System32> Write-EventLog -LogName PowerShellZone -Source 'Moje Zdarzenie' -Message “Chyba się udało” -EventId 0 -EntryType Information
PS C:\Windows\System32> Get-Eventlog -LogName PowerShellZone

   Index Time          EntryType   Source                 InstanceID Message
   ----- ----          ---------   ------                 ---------- -------
       1 Apr 18 08:15  Information Moje Zdarzenie                  0 Chyba się udało
PS C:\Users\Admin> Get-WinEvent -LogName System -MaxEvents 20 | Where-Object {$_.LevelDisplayName -eq 'Error'} | 
Select-Object TimeCreated, Id, LevelDisplayName, ProviderName, Message


TimeCreated      : 07/12/2025 16:56:45
Id               : 20
LevelDisplayName : Error
ProviderName     : Microsoft-Windows-WindowsUpdateClient
Message          : Installation Failure: Windows failed to install the following update with error 0x80073D02: 9NKSQGP7F2NH-5319275A.WhatsAppDesktop.

TimeCreated      : 07/12/2025 16:56:34
Id               : 20
LevelDisplayName : Error
ProviderName     : Microsoft-Windows-WindowsUpdateClient
Message          : Installation Failure: Windows failed to install the following update with error 0x80073D02: 9PC1H9VN18CM-Microsoft.StartExperiencesApp.
PS C:\Users\Admin> Get-WinEvent -FilterHashtable @{LogName='System'; ID=6005,6006,6008} | Select-Object TimeCreated, Id, Message

TimeCreated           Id Message                                                                 
-----------           -- -------                                                                 
06/12/2025 09:58:22 6005 The Event log service was started.                                      
06/12/2025 09:57:27 6006 The Event log service was stopped.                                      
13/11/2025 21:07:58 6005 The Event log service was started.                                      
13/11/2025 21:07:10 6006 The Event log service was stopped.                                      
13/11/2025 21:05:22 6005 The Event log service was started.                                      
13/11/2025 21:04:27 6006 The Event log service was stopped.  
PS C:\Users\Admin> Get-WinEvent -FilterHashtable @{LogName='Application'; ProviderName='*Outlook*'} | Select-Object TimeCreated, Id, Message -First 10

TimeCreated         Id Message                                                                                                                                                  
-----------         -- -------                                                                                                                                                  
06/12/2025 17:35:41 45 Program Outlook załadował następujące dodatki:...   
05/12/2025 17:21:30 45 Program Outlook załadował następujące dodatki:...    
05/12/2025 13:59:30 45 Program Outlook załadował następujące dodatki:...     
05/12/2025 11:59:21 45 Program Outlook załadował następujące dodatki:... 

Eksport zdarzeń do pliku CSV (do analizy lub wysłania do działu IT)

PS C:\Users\Admin> Get-WinEvent -LogName System -MaxEvents 200 | 
Select-Object TimeCreated, Id, LevelDisplayName, ProviderName, Message |
Export-Csv -Path "C:\Temp\system_logs.csv" -NoTypeInformation -Encoding UTF8

Wyszukiwanie logów po słowach kluczowych

PS C:\Users\Admin> Get-WinEvent -LogName Application | Where-Object {$_.Message -match 'timeout'} | Select-Object TimeCreated, Id, Message

TimeCreated           Id Message                                               
-----------           -- -------                                               
07/12/2025 16:59:53 8224 The VSS service is shutting down due to idle timeout. 
06/12/2025 11:01:22 8224 The VSS service is shutting down due to idle timeout. 
05/12/2025 19:11:49 8224 The VSS service is shutting down due to idle timeout. 
05/12/2025 12:07:47 8224 The VSS service is shutting down due to idle timeout. 

Archiwizacja całego dziennika zdarzeń

PS C:\Users\Admin> wevtutil epl Application "C:\Temp\Application.evtx"

Przechowywanie i Archiwizacja

Bezpieczeństwo

Podsumowanie

Dla chętnych


To wszystko na dziś!

Jeśli masz ciekawe spostrzeżenia lub doświadczenia w tym temacie – koniecznie podziel się nimi w komentarzach.
A jeśli moje materiały są dla Ciebie pomocne, możesz postawić mi wirtualną kawę.

Dzięki za wsparcie!

Postaw mi kawę na buycoffee.to

Adam Pietrzak

Trener IT | Autor szkoleń | Entuzjasta PowerShella

Administrator systemów i sieci wsparcia działań wojskowych z ponad 10-letnim doświadczeniem. Praktyk w dziedzinie bezpieczeństwa systemu Windows, automatyzacji zadań (PowerShell) oraz rozwiązań chmurowych. Trener i twórca materiałów edukacyjnych (szkolenia, warsztaty, artykuły, podręczniki). Pasjonat dzielenia się wiedzą i wspierania początkujących administratorów IT. Prywatnie – amator aktywnego wypoczynku i rodzinnych podróży.


PowerShell - 10 sposobów na optymalizację codziennej pracy

Podziel się

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *