Invoke-Sqlcmd2 不会因错误而终止

Invoke-Sqlcmd2 do not terminate on error

有什么方法可以使函数 Invoke-Sqlcmd2 在失败时不终止脚本的其余部分?

即使此命令失败,我希望脚本的其余部分继续 运行。

我仔细研究了代码,我认为它与 -ErrorAction 参数有关。

下面是脚本的第 488 行:

Catch # For other exception
{
    Write-Verbose "Capture Other Error"  

    $Err = $_

    if ($PSBoundParameters.Verbose) {Write-Verbose "Other Error:  $Err"} 

    switch ($ErrorActionPreference.tostring())
    {
        {'SilentlyContinue','Ignore' -contains $_} {}
        'Stop' {     Throw $Err} # Removing this line doesn't work
        'Continue' { Throw $Err}
        Default {    Throw $Err}
    }
}

关于如何将此命令发送到 'non-terminate' 的任何想法?

解法: 谢谢(你的)信息。我最终将 invoke-sqlcmd2 的错误处理部分包装在一个 try-catch 陷阱中。

将 Invoke-SQLCMD2 放入 try catch 块中,并可能记录抛出的错误。 这样您将处理错误并且脚本将继续。