0
我試圖用Start-Job運行一個命令來從某些服務器收集安全日誌。 我解析一個.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 $($ server)-d $($ days) 「Start-Job -ScriptBlock $ ScriptBlock} Get-Job |等待作業 - 但它仍然只能同時啓動1個作業 – user1131196 2012-07-18 04:04:05
嘗試使用'{...}來定義您的腳本塊' – JPBlanc 2012-07-18 05:25:24