我编写了powershell脚本将一个文件(包含主机名)拆分为十个文件,对每个文件中的主机名执行 ping(即 powershell 测试连接命令)。为了加快进程,我使用 start-job 命令来处理每个文件的主机名。如果我删除 start-job 命令,则脚本可以正常工作,如所愿。但是当我使用 start-job 命令时,“脚本块”内使用的数组不会返回所需的输出。相反,它仍然是空的。以下是部分脚本(仅用于一个文件处理)。请指导,我在这里错过了什么?
Start-Job -Name "Ping-Part-1" -ScriptBlock {
foreach ($Comp1 in $file_part1_content) {
If (test-Connection -ComputerName $Comp1 -Count 1 -Quiet) {
$project1 = Create-New-Object
$project1.AliveStatus = "Alive"
$project1.Hostname = $Comp1
$resultsarray_file1 += $project1
}
Else {
$project1 = Create-New-Object
$project1.AliveStatus = "Not Alive"
$project1.Hostname = $Comp1
$resultsarray_file1 += $project1
}
}
}