А АWednesday, 27 March 2019

Powershell полезности.

Всем привет.

Есть возможность включить простейший мониторинг изменения содержимого текстового файла. Например файла журнала. Powershell рулит.

Пишем следующее:
Get-Content d:\test.log -Wait -Tail 5

test.log - наш файл журнала 
Tail 5 - показывать последние 5 строк.

При любом добавлении информации в файл test.log она тут же будет отображена в окне Powershell. Есть пару нюансов на выходе если информации в файл будет не добавлена, а наоборот, удалена. В этом случае на выход попадет все что есть в журнале. Также неадекватно себя ведет вывод если добавляется не символ, а только пробел. Как вы понимаете, такое поведение характерно в том случае если журнал изменяется вручную, с помощью редактора, что может служить сигналом о преднамеренном вмешательстве в содержимое файла.

Еще пару полезностей для вывода в Powershell:

- ключик Paging - постраничный вывод, аналог "more" в cmd.

Get-Process | Out-Host -Paging

- ключик PassThru - передача данных по конвейеру дальше из Out-GridView.

Начиная 3-й версии PowerShell Out-GridView поддерживает ключ PassThru, позволяющий передать полученные данные дальше по конвейеру. Например, можно вывести список процессов, в графической оснастке отобрать нужные и передать их командлету Stop-Process, который остановит выбранные процессы:

Get-Process | Out-GridView -PassThru | Stop-Process

Это все.

No comments:

Post a Comment

А что вы думаете по этому поводу?

Версия на печать

Популярное