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"
}
我们正在使用以下命令通过 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"
}