2013-08-08 4 views

답변

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) 
+0

get-eventlog는 자격 증명 매개 변수를 제공하지 않으므로 "인증되지 않은 시도"오류가 발생합니다. 대체는 invoke-command를 사용하는 것이지만 http와 slow를 사용합니다. –

+0

불행히도 invoke-command가 최선의 방법입니다. 병렬로 실행하면 오버 헤드가 명확하지 않습니다. 작업을 사용하여 WMI와 동일한 방법으로 멀티 스레드로 이동할 수도 있습니다. – Syddraf

관련 문제