BTSKTask AddResource - 如何在命令失败时引发错误

BTSKTask AddResource - How to raise an error in case the command fails

我们正在使用以下命令通过 PowerShell 部署 BizTalk 程序集:

BTSTask AddResource /ApplicationName:$App /Type:$BizTalkAssemblyType /Overwrite /Source:$Source /Options:GacOnAdd,GacOnInstall,GacOnImport

参见:https://docs.microsoft.com/en-us/biztalk/core/addresource-command-biztalk-assembly

此命令可能会因某些原因而失败,例如业务流程未处于未登记状态或存在一个或多个业务流程实例。

在这种情况下,命令不会引发错误,因此脚本会继续输出

Command failed with 1 errors, 0 warnings.

因为在这种情况下程序集没有部署,我们希望 PowerShell 脚本失败,例如通过引发错误。如何实现?

您需要捕获输出并检查它是否失败,或者更确切地说,检查是否成功,如果不成功则失败。

[array] $cmdOutput = BTSTask AddResource /ApplicationName:$App /Type:$BizTalkAssemblyType /Overwrite /Source:$Source /Options:"GacOnAdd,GacOnInstall,GacOnImport"

$line = $cmdOutput.Count-2


if ( $cmdOutput[$line] -eq "Command succeeded with 0 errors, 0 warnings.")
{
    Write-Output "Deploy suceeded"
}
else
{
    Throw "Deploy failed $cmdOutput" 
}