0
시작 - 작업을 사용하여 일부 서버에서 보안 로그를 수집하는 명령을 실행하려고합니다. 등 일의 내가 서버 목록을 얻기 위해 .ini 파일을 구문 분석하고있어, 수는Powershell 멀티 스레딩 시작 작업 도움말 제발
#___Collect Logs from Servers___#
$servList = $iniContent["SERVERS"]["svr"]
$days = $iniContent["DAYS"]["days"]
$date = $(get-date -format ddMMyyyy)
$err = "Error Collecting $($logType) from $($server) or the Event Log is empty! | $(Get-Date -format g) "
$serv = $servList.Split(",")
foreach ($server in $serv){
$outfile = "D:\DCLogs\$($date)_$($server)_$logType.txt"
$ScriptBlock = cmd /c "D:\CollectLog\Dumpel.exe -f $($outFile) -l $($logType) -s $($server) -d $($days)"
Start-Job -ScriptBlock $ScriptBlock
Get-Job | Wait-Job
$file = Get-ChildItem D:\DCLogs -Filter "$($date)_$($server)*" -Name
$len = $file.length/1KB # Check LogFile Size
if ($len -eq 0){
$errCount = 1
write-output $err | Out-File $errLog -append
}
}
단지 내가 뭔가 잘못하고있어 알고 한 번에 하나의 작업을 시작하고있다. 누군가가 문제를 지적 할 수 있다면 크게 감사하겠습니다.
감사합니다. Amelia
안녕 JPBlanc을 - 나는 foreach는 ($의 SERV에서 $ 서버) {$ OUTFILE = "D 시도 : \ DCLogs \ $ ($ 날짜) _ $ ($ 서버를) _ $ logType.txt "$ ScriptBlock = cmd/c"D : \ CollectLog \ Dumpel.exe -f $ ($ outFile) -l $ ($ logType) -s $ ($ 서버) -d $ ($ days) "Start-Job -ScriptBlock $ ScriptBlock} Get-Job | Wait-Job -하지만 여전히 한 번에 1 개의 작업 만 시작합니다. – user1131196
'{...} '을 사용하여 스크립트 블록을 정의하십시오. – JPBlanc