Parametr -Wait cmdletu Get-Content pozwoli monitorować nowe linie dopisywane do pliku
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