ALPHACON BBSGość · pl
← Protipy

Protipy / PowerShell

Parametr -Wait cmdletu Get-Content pozwoli monitorować nowe linie dopisywane do pliku

-Wait

Wstęp

W świecie Unix/Linux od wieków znane jest polecenie tail -f czy też dosłownie przed chwilą omawiane less +F ( /pl/004a), które pozwalają na bieżąco wyswietlać nowe linie dopisywane do plików, bardzo często wykorzystywane do monitorowania logów.

Odpowiednikiem w Powershellu będzie cmdlet Get-Content z parametrem -Wait. Kiedy dodatkowo dorzucimy do niego parametr -Tail 10 (omówiony na /pl/0042), zostanie nam wyświetlone wyłącznie 10 ostatnich linijek i cmdlet będzie czekał na kolejne, aż do czasu, kiedy go przerwiemy, wciskając np. Ctrl+C.

Do czego się to może przydać?

Oczywiście do monitorowania na bieżąco wszelkich logów, które logują do plików, a nie z wykorzystaniem Windows Event Loga. Możemy również na bieżąco obserwować polecenia wykonywane w sesji Powershella u danego użytkownika, np. na jakimś honeypocie:

Get-Content -Tail 10 -Wait C:\Users\Administrator\AppData\Roaming\Microsoft\Windows\PowerShell\PSReadLine\ConsoleHost_history.txt