This post was originally published here
Recently there was a chance to implement the Power Shell script which will monitor the BizTalk application . It is very simple script which get executed by windows task scheduler at predefined time period. It will start all artifacts of BizTalk which will in stop/disable/unlisted state. If the artifacts are up and running, it will not do anything.
#BizTalk Application Monitoring $Date = Get-Date $Logfile = "C:ScriptLogs$(gc env:computername)_$(get-date -f yyyy-MM-dd).log" Function LogWrite { Param ([string]$logstring) Add-content $Logfile -value $logstring } $test = '----------------------------------------------------------' LogWrite $test $test = 'Script Started-BizTalk Monitor at '+$Date.DateTime LogWrite $test # Get local BizTalk DBName and DB Server from WMI $btsSettings = get-wmiobject MSBTS_GroupSetting -namespace 'rootMicrosoftBizTalkServer' $dbInstance = $btsSettings.MgmtDbServerName $dbName = $btsSettings.MgmtDbName # Load BizTalk ExplorerOM [void] [System.reflection.Assembly]::LoadWithPartialName("Microsoft.BizTalk.ExplorerOM") $BizTalkOM = New-Object Microsoft.BizTalk.ExplorerOM.BtsCatalogExplorer $BizTalkOM.ConnectionString = "SERVER=$dbInstance;DATABASE=$dbName;Integrated Security=SSPI" [ARRAY]$apps=$BizTalkOM.Applications Foreach ($app in $apps) { if ($app.Name -like 'BizTalkAppName*') { $app.Start(63) $BizTalkOM.SaveChanges() $test = $app.Name+ " Started" LogWrite $test } } $test = 'Script executed sucessfully at '+$Date.DateTime LogWrite $test $test = '----------------------------------------------------------' LogWrite $test
Advertisements