Are you tired of having to go into the BizTalk Admin tool to terminate any suspended Orchestration instance before you want to redeploy? Scripting this task is simple using WMI. Just create a file called Terminate.vb and copy in this code:


 


TerminateAllOrchs


Sub TerminateAllOrchs


  Query = “SELECT * FROM MSBTS_ServiceInstance where ServiceClass = 1”


  Set InstSet = GetObject(“Winmgmts:!root\MicrosoftBizTalkServer”).ExecQuery(Query)


  For Each Inst In InstSet


    Inst.Terminate


  Next


End Sub


 


This script will terminate all Orchestrations so please use caution.


 


It could be further parameterized to only terminate specific Orchestrations. 


 


The Query would look something like:


  Query = “SELECT * FROM MSBTS_ServiceInstance where ServiceClass = 1 and AssembliName='<name>'”


<P class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-margin-top-alt: auto; mso-margin-bottom-al