我正在尋找使用Powershell監視特定事件ID的2003和08服務器列表的「安全」日誌。到目前爲止,我用這個使用Powershell監視EventID的安全日誌
$servers = gc c:\temp\servers.txt
foreach ($server in $servers)
{
$Query = "SELECT * FROM __instanceCreationEvent WHERE TargetInstancISA 'Win32_NTLogEvent' AND TargetInstance.LogFile = 'Security' AND TargetInstance.EventCode = '529' "
Register-WMIEvent -ComputerName $server -Query $Query -sourceIdentifier "$server" -Action
{Write-Host "The following Event ID of 529 has been found in the Security log on $server}
}
但是你怎麼能得到日誌條目的時間戳,只有最新的一個如果存在?
非常感謝mjolinor我會試一試。 – user1890242 2013-02-22 11:36:20
應該工作。它的設計與您所描述的完全相同 - 監控多個服務器以查找特定事件併發送通知。 – mjolinor 2013-02-22 11:42:05
好吧我跑了這個,並按照指示,但得到這個錯誤[:數組分配給[#]失敗:無法將值「#」轉換爲鍵入「System.Int32」。錯誤:「索引超出範圍,必須是非負數,小於集合的大小。」 參數名稱:startIndex「。在C:\ Scripts \ Events Monitor.ps1中:37 char:45 1} + CategoryInfo:InvalidOperation:(1:Int32)[],RuntimeException + FullyQualifiedErrorId:ArrayAssignmentFailed – user1890242 2013-02-22 11:56:15