0

BIZTalk2010 powerscript to stop and start SEND PORT

I got the receive location working ok. BizTalk2010 restart Receive location every hour

Now I need to do the same with the send ports. But it does not work.

# a. Set Server name in ConnectionString -- 
# b. Set ($hostname) host name value that is using in SFTP send location
# c. Set ($sndLocation) send location name

$Catalog.ConnectionString ="xxx"
$hostname = "bbb"
$sndLocation = "SndPrt_XXXXXXX001" #send location

# Function to retrieve the status of the specify send port
function getStatus() {
    foreach ($sendPort in $catalog.SendPorts) {
        foreach($sendLoc in $sendPort.SendPorts 
                | Where {$_.Name -eq $sndLocation}) {
            return $sendLoc.enabled
        }
    }
}

# Function to enable the send port
function enablesendLocation() {
    $location = get-wmiobject MSBTS_SendPort -Namespace 
            'root\MicrosoftBizTalkServer' -Filter "name='${sndLocation}'"
    [void]$location.Start()
    [void]$Catalog.Refresh()
}

# Function to disable the send port
function disablesendLocation() {
    $location = get-wmiobject MSBTS_sendport -Namespace 
            'root\MicrosoftBizTalkServer' -Filter "name='${sndLocation}'"
    [void]$location.Stop()
    [void]$Catalog.Refresh()
}

{
    # Enable send location
    enablesendLocation
}
Jose Da Silva Gomes
  • 3,814
  • 3
  • 24
  • 34
Rosebud
  • 579
  • 2
  • 10
  • 19

1 Answers1

1

The solution is

function getStatus(){

    foreach ($sendPort in $Catalog.SendPorts | Where {$_.Name -eq $sndLocation })
    {    
        return $sendPort.Status           
    } }

function enablesendLocation(){

    foreach ($sendPort in $Catalog.SendPorts | Where {$_.Name -eq $sndLocation })
    {    
        $sendPort.Status = 3
        $Catalog.SaveChanges()    
        $Catalog.Refresh()
    } }

function disablesendLocation(){

    foreach ($sendPort in $Catalog.SendPorts | Where {$_.Name -eq $sndLocation })
    {    
        $sendPort.Status = 2
        $Catalog.SaveChanges()    
        $Catalog.Refresh()
    } }
felixmondelo
  • 1,324
  • 1
  • 10
  • 19