我收到一个脚本,应该扫描4个DC的事件日志,search事件ID 4740(用户locking)。 这是第一个脚本。现在我想, “为什么扫描所有的DC,当我可以扫描angular色PDC模拟器的DC的日志? 所以我发现另一个脚本只能更快地完成相同的工作…现在我有4个问题:
第一个脚本:
$DD = get-date -format d $DD $L = get-eventlog -logname security -computername dc1, dc2, dc3, dc4 -after $DD | where {$_.eventid -eq 4740 } | ft -autosize timegenerated.replacementstrings $L $L >> locked.accounts.txt
第二个脚本:
$PDC = Get-ADDomainController -Discover -Service PrimaryDC Get-WinEvent -ComputerName $PDC -Logname Security -FilterXPath "*[System[EventID=4740 and TimeCreated[timediff(@SystemTime) <= 604800000]] and EventData]" | Select-Object TimeCreated,@{Name='User Name';Expression={$_.Properties[0].Value}},@{Name='Source Host';Expression={$_.Properties[1].Value}}
这两个脚本是否提及相同的来源?
是的,两者都指的是安全日志。 但是你get-eventlog只是从一个DC拉。
为什么第二个脚本只能输出8个小时?
不确定,我会猜测时区。 随着-after你过滤的东西之后,你存储在$DD ,我相信是要四舍五入到最近的一整天。 事件日志数据我相信存储与UTCdate+时间。 无论如何。 您将需要使用实际指定所需时间(包括时区)的正确datevariables。
$ DD = get-date -format d $ L = get-eventlog … – $ DD之后
为什么第一个花了大约一个小时,第二个花了大约15秒呢?
那么这部分是因为你正在查询六台电脑而不是一台。 但另一部分是, Get-WinEvent速度明显更快,因为它可以处理远程计算机上的大量过滤,并只通过networking发送实际需要的get-eventlog基本上将所有事件日志条目到您的机器,然后进行过滤。
这里有一些更详细的文章。
PDCe是否有自己的日志,或者是“一般”DC日志?
不知道你在这里问什么和/或我不知道。