2016-11-17 13 views
0

настоящее время я использую следующую строку кода, чтобы вернуть последнюю строку журнала с помощью PowerShellхвост лог-файл и, если матч вызвать actrion

Get-Content -Path C:\folder\thisisalog.log -Tail 1 -Wait | 
    Where {$_ -match "Remote_http"} 

Это работает правильно и написать в консоли каждого регистрируется журнал, соответствующий «Remote_http».

Однако то, что я хотел бы сделать, это запустить другой скрипт, когда он будет возвращен. До сих пор я пытался добавить к переменной и проверить, является ли она нулевым, и я не пробовал использовать if заявления без успеха. Попытка обоих этих сценариев работает неограниченно без вывода на консоль или тригеры.

Я думаю, что это может быть связано с -Wait, что вызывает проблему.

+0

Изменить '' Where' к ForEach-Object', включите '-match' положение в, если заявление и запустить код/​​скрипт внутри блока if –

ответ

4

просто сделать это

Get-Content -Path C:\folder\thisisalog.log -Tail 1 -Wait | % {if ($_ -match "Remote_http") {write-host "run code here"}} 

или непосредственно в где

Get-Content -Path C:\folder\thisisalog.log -Tail 1 -Wait | where {if ($_ -match "Remote_http") {write-host "run code here"}} 

 Смежные вопросы

  • Нет связанных вопросов^_^