有没有比wmi更快的方法来使用PowerShell远程收集Windows事件日志? 如果没有,我们如何进行有效的多线程wmi查询以从多个主机收集日志?
答案 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)