私はまだPSでかなり緑色で、スクリプトがついています。最終目標は、特定のID(この場合は2)を持つ特定のソースによってイベントがアプリケーションログに記録され、イベントのメッセージに特定の文字列が含まれている場合に電子メールを送信することです。これらのイベントを作成するソースが同じIDで4〜5個のイベントをダンプすることがあり、古いスクリプトが最新のイベントだけを見ているので、一度にダンプされた4つまたは5つのイベントに記録された最後のイベントではない場合は、それを見つけます。だから、イベントID2がログに記録されたときに最後の10個のid2イベントを取り出し、必要な文字列を探して解析します。そして、これは私のためにすべてが壊れているところです。これまでのところ私はテストとして持つ:私もこれを試してみたPowershellスクリプトがイベントログを取得し、メッセージcontais文字列がメールを送信する場合
$eventLogs = Get-EventLog -LogName Application -Source "<source>" -InstanceId 2 -Newest 100 -EntryType Error
$eventLogs | ForEach-Object Message
if (Message -contains "<string>")
{
Write-Host "Found One"
}
:
$eventLogs = Get-EventLog -LogName Application -Source "<source>" -InstanceId 2 -Newest 100 -EntryType Error | ForEach-Object Message
foreach ($event in $eventLogs)
{
if(($eventLogs) -contains "<string>")
{
write-host "found one"
}
}
すべてを無駄に。誰かが私が逃しているものを見て助けることができますか?
[PowerShellと-contains演算子](http://stackoverflow.com/questions/18877580/powershell-and-the-contains-operator) – beatcracker