Powershell 无法将“System.String”类型的值转换为“System.Management.Automation.ScriptBlock”类型

问题描述

我是这个工作的新手。我收到以下错误: 无法绑定参数“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' 因为它是|空。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)