Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/powershell/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Loops 如何搜索多个域控制器';Powershell中的安全日志和限制日期?_Loops_Powershell_Formatting - Fatal编程技术网

Loops 如何搜索多个域控制器';Powershell中的安全日志和限制日期?

Loops 如何搜索多个域控制器';Powershell中的安全日志和限制日期?,loops,powershell,formatting,Loops,Powershell,Formatting,早上好,下午好,晚上好,或者晚安 我正试图承担一个实习项目。脚本的目的是如何在不同的安全日志中搜索特定用户在特定(给定)时间限制内的锁定事件 $ComputerName = [System.DirectoryServices.ActiveDirectory.Domain]::GetCurrentDomain().FindDomainController().Name $EventList = Get-Eventlog –ComputerName $ComputerName -L

早上好,下午好,晚上好,或者晚安

我正试图承担一个实习项目。脚本的目的是如何在不同的安全日志中搜索特定用户在特定(给定)时间限制内的锁定事件

 $ComputerName =     
 [System.DirectoryServices.ActiveDirectory.Domain]::GetCurrentDomain().FindDomainController().Name

 $EventList = Get-Eventlog –ComputerName $ComputerName -LogName Security 
 -InstanceID 4740 -Message *Username*

 $EventList | Format-List -Property TimeGenerated,Message
因此,我很好奇如何使用date类输出特定日期的错误消息。例如,如果我只想查看2014年5月5日至2014年5月20日期间的错误消息。还包括如何通过网络上的每个域控制器进行循环。我想为它设置某种类型的循环结构是很容易的。(一旦我知道正确的语法)

这是我最初的代码。如果您想为自己的jolly kicks找到一个类似的代码,以找到您想要的任何类型的错误,那么就使用这个

 $ComputerName = "REPLACEWITHYOURCOMPUTERNAME"

 $EventList = Get-Eventlog –ComputerName $ComputerName -LogName Security -Message      *REPLACEWITHYOURUSERNAME*

 $EventList | Format-List -Property TimeGenerated,Message

要搜索最多2天前的内容,请执行以下操作:

Get-EventLog -LogName Security -After ((Get-Date).AddDays(-2))
要仅搜索昨天,请执行以下操作:

Get-EventLog -LogName Security -After ((Get-Date).AddDays(-2)) -Before ((Get-Date).AddDays(-1))
我想你现在应该明白了。当然,要使最后一个脚本起作用,您必须将其包装在参数中,等等

编辑:您还询问了如何创建循环

例如:

$ComputerList = Get-Content ComputerList.txt
foreach ($Computer in $Computerlist) { 
Get-EventLog -Logname Security -Computername $Computer 

Write-host "$Computer has been checked" 
}
作为几个DC环境的补充说明,这将是一个令人讨厌的网络杀手脚本。远程解析事件日志通常不是一个好主意。相反,请考虑使用Invoke命令来启动查询,并等待DCs向您发送输出。通过这种方式,它们在本地执行,您只接收一个输出。例如,与Start Job一起使用时,通常速度要快得多