我正在寻找使用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