Я новичок в этой работе. Я получаю сообщение об ошибке: Не удается связать параметр «ScriptBlock». Не удается преобразовать | .\test7\test7-2.ps1 типа System.String для типа System.Management.Automation.ScriptBlock. Может ли кто-нибудь сказать мне и выяснить, что здесь происходит?
$importCsv = ".\testData.csv"
$dir = "test\"
$main = ".\test7\test7-2.ps1"
$csv = GetCsv $importCsv
foreach ($i in $csv){
Start-Job -ScriptBlock $main -ArgumentList @($dir,$i.ip,$i.openTime,$i.closeTime)
}
$main здесь:
function Main {
param ($directory, $itemIp, $itemOpen, $itemClose)
$ipAddress = $itemIp
$openTime = $itemOpen
$closeTime = $itemClose
$date = Get-Date -Format "yyyy-MM-dd"
$storeFolder = addFolder $directory $ipAddress
$todayDir = addFolder $storeFolder $date
$pingFile = addFile $todayDir
Write-Host "Date : $date"
Write-Host "Store Folder : $storeFolder"
Write-Host "Today Folder : $todayDir"
Write-Host "File path : $pingFile."
Write-Host "ip address : $ipAddress"
Write-Host "Open Time : $openTime"
Write-Host "Close Time : $closeTime"
$time = Get-Date -Format "HH:mm"
Write-Host "Time : $time"
Compare-Time $time $openTime $closeTime $timeNow $ping4 $ping15 $ipAddress $pingFile 4 3 15 1
}
Затем я также попробовал так: $main = .\test\test7-2.ps1, но он возвращает Невозможно связать аргумент с параметром «ScriptBlock», потому что он | нулевой.
{ code... }
. Посмотрите здесь для некоторых примеров использования для Start-Job и здесь подробнее о блоках сценариев - person Daniel   schedule 18.02.2021