Jak skutecznie rejestrować zdarzenia systemowe za pomocą programu PowerShell
PowerShell jest naprawdę przydatny do analizowania zdarzeń systemowych — zwłaszcza jeśli chcesz sprawdzić, kiedy komputer ostatnio się restartował lub wyłączał, bez konieczności ręcznego przeszukiwania niezliczonych logów. Może to naprawdę zaoszczędzić czas, a gdy już się z nim oswoisz, znajdziesz mnóstwo sposobów na monitorowanie stanu systemu lub po prostu zaspokojenie ciekawości dotyczącej ostatnich zdarzeń systemowych. Oczywiście, polecenia mogą na początku wydawać się przerażające, ale po chwili nabierają sensu. Pamiętaj tylko, że czasami warto uruchamiać PowerShella z uprawnieniami administratora — zwłaszcza jeśli chcesz zagłębić się w logi lub automatyzację.
Jak uzyskać czas ostatniego ponownego uruchomienia i śledzić wyłączenia w programie PowerShell
Określ, kiedy komputer został ostatnio ponownie uruchomiony, korzystając ze skryptu programu PowerShell
To klasyczny przykład użycia, który pozwala sprawdzić, kiedy ostatnio nastąpiło ponowne uruchomienie. Jeśli system działa wolno lub rozwiązujesz problemy z uruchamianiem, szybkie zebranie tych informacji pomaga wykluczyć niedawne ponowne uruchomienia. Polecenie wyszukuje określone identyfikatory zdarzeń powiązane z uruchamianiem i zamykaniem systemu i wyświetla tylko najnowsze, więc jest proste. W niektórych konfiguracjach nie zawsze wykrywa od razu — być może z powodu rozmiaru lub czasu dziennika zdarzeń — więc jeśli wydaje się nieprawidłowe, po prostu spróbuj ponownie uruchomić program po chwili lub sprawdź ustawienia dziennika zdarzeń. Aby uzyskać najlepsze rezultaty i zapewnić sobie dostęp, możesz uruchomić program PowerShell jako administrator. Polecenie wygląda następująco:
Get-WinEvent -LogName System | Where-Object {$_. Id -eq 6005 -or $_. Id -eq 6006 -or $_. Id -eq 6008} | Select-Object -Last 1 | Format-List
Pobiera identyfikatory zdarzeń dla uruchomienia (6005, 6006 i 6008), przy czym 6008 oznacza spontaniczne wyłączenie (awaria lub awaria zasilania).Polecenie „Select-Object -Last 1” wyodrębnia tylko ostatnie zdarzenie — o ile dzienniki nie są przepełnione, powinieneś otrzymać dość dokładny znacznik czasu ostatniego restartu. Spodziewaj się szczegółów, takich jak data i godzina, opis zdarzenia, a może i informacje o źródle.
Sprawdź ostatnie zamknięcia systemu za pomocą programu PowerShell
Jeśli chcesz dowiedzieć się, kiedy komputer został ostatnio wyłączony, poszukaj zdarzenia o identyfikatorze 13. Jest ono rejestrowane w dzienniku zdarzeń „System” za każdym razem, gdy system operacyjny zostanie wyłączony prawidłowo lub z powodu błędu. Aby uzyskać 10 ostatnich wpisów dotyczących wyłączania, wykonaj następujące polecenie:
Get-EventLog -Newest 10 -LogName "System" -InstanceID "13"
To polecenie pobiera najnowsze zdarzenia wyłączania systemu, uporządkowane w tabeli. Możesz zobaczyć znaczniki czasu, szczegóły zdarzeń i przeanalizować, jak często lub kiedy wystąpiły wyłączenia. Przydatne, jeśli próbujesz rozwiązać problemy z uruchamianiem lub po prostu interesuje Cię aktywność systemu.
Dowiedz się, kiedy system został ostatnio uruchomiony ponownie
Podobnie, jeśli chcesz sprawdzić, kiedy system został ostatnio uruchomiony, poszukaj zdarzenia o identyfikatorze 12 — to komunikat „system został uruchomiony”.Ten sam pomysł, co powyżej, tylko zmień identyfikator instancji na 12:
Get-EventLog -Newest 10 -LogName "System" -InstanceID "12"
To polecenie pomaga Ci ustalić, kiedy ostatnio Twój komputer był wyłączony i włączony, co może być przydatną informacją przed zaplanowaniem aktualizacji lub konserwacji. Możesz nawet zaprogramować je tak, aby uruchamiało się okresowo i zapisywało dane, jeśli interesuje Cię automatyzacja.
Ponieważ system Windows dość regularnie rejestruje te dane, korzystanie z takich poleceń programu PowerShell przypomina prowadzenie szybkiego dziennika systemowego. Należy jednak pamiętać, że logi czasami są rotowane lub czyszczone, więc nie będą one dostępne wiecznie lub mogą pominąć pierwsze zdarzenie, jeśli zostaną skrócone. Jeśli wystąpią problemy z uprawnieniami, uruchom program PowerShell jako administrator — to często rozwiązuje problem.
Inna metoda dokumentowania zdarzeń systemowych za pomocą programu PowerShell
Jeśli wolisz bardziej bezpośrednie podejście, zwłaszcza jeśli znasz już tradycyjne narzędzia wiersza poleceń, dokumentacja programu PowerShell zawiera mnóstwo poleceń, z którymi możesz się zapoznać. Na przykład, aby znaleźć dziesięć ostatnich wyłączeń, polecenie Get-EventLog -Newest 10 -LogName "System" -InstanceID "13"jest dość proste, a wyniki są prezentowane w przejrzystej tabeli. Dzięki temu nie musisz zgadywać, który wpis w dzienniku odpowiada czemu – dane są dostępne od razu.
A jeśli chcesz zobaczyć, kiedy system ostatnio się uruchomił, po prostu zamień ID na 12. Proste, prawda? Możesz również zautomatyzować te polecenia, stworzyć skrypt lub zintegrować je z systemem monitorowania. PowerShell jest wystarczająco elastyczny, aby to zrobić.
- Upewnij się, że program PowerShell działa z uprawnieniami administratora, jeśli brakuje dzienników lub polecenia nie działają
- Należy pamiętać, że dzienniki można obracać lub czyścić, więc ostatnie wpisy mogą być niedostępne
- Użyj poleceń, aby szybko uzyskać oś czasu zdarzeń uruchamiania/zamykania systemu
Już samo bawienie się tymi poleceniami może dać zaskakująco przejrzysty obraz aktywności systemu. Nie zawsze idealny, ale o wiele lepszy niż ręczne przeglądanie logów systemu Windows.
Podsumowanie
PowerShell to nie tylko skomplikowane narzędzie skryptowe — na jednej konfiguracji działał od razu, na innej musiałem go uruchomić jako administrator lub zmodyfikować ustawienia dziennika. To ma sens, bo Windows czasami musi to utrudniać bardziej niż to konieczne. W każdym razie, jeśli lubisz śledzić zdarzenia systemowe, te polecenia powinny ułatwić Ci życie. To nie jest fizyka kwantowa, gdy już się z tym oswoisz, a to sprytny sposób na śledzenie tego, co dzieje się na Twoim komputerze.
Streszczenie
- Użyj poleceń programu PowerShell, aby znaleźć ostatnie zdarzenia uruchamiania/zamykania
- Uruchom program PowerShell jako administrator, aby uzyskać pełny dostęp
- Sprawdzaj regularnie identyfikatory i dzienniki zdarzeń, aby zachować zapis
- Zautomatyzuj za pomocą skryptów, jeśli chcesz regularnie monitorować
Trzymam kciuki, żeby to pomogło
Powiązane artykuły
Czy ten artykuł był pomocny?