远程收集Windows事件日志的方法?

时间:2013-08-08 09:11:11

标签: logging wmi powershell-v2.0

有没有比wmi更快的方法来使用PowerShell远程收集Windows事件日志? 如果没有,我们如何进行有效的多线程wmi查询以从多个主机收集日志?

1 个答案:

答案 0 :(得分:0)

查看

Get-EventLog

您可以在作业中启动它以多线程:

Start-Job -ArgumentList $HostName { return $(Get-EventLog -ComputerName "$($args[0])" -LogName Application -Source "Source Name") }

然后收集所有数据:

$Logs = $(Get-Job | Wait-Job | Receive-Job)

看起来像这样:

foreach($HostName in $Hosts) {
    Start-Job -ArgumentList $HostName { return $(Get-EventLog -ComputerName "$($args[0])" -LogName Application -Source "Source Name") }
}

$Logs = $(Get-Job | Wait-Job | Receive-Job)