Мне нужен Powershell для создания порта приема и местоположения в уже существующем приложении при каждом запуске сценария. Задача этого местоположения получения состоит в том, чтобы выбирать файл каждый раз, когда файл отбрасывается в папку, которая существует в общей папке на другом сервере, и позже будет создан порт отправки для размещения файла где-нибудь еще. У меня есть скрипт ниже, который находится на рабочем столе сервера, на котором мой BizTalk включен. Когда я запускаю его, на экране появляется ошибка. Я не знаю, что это за ошибка, потому что она сразу исчезает. Единственное, что я знаю, это надпись красного цвета, и ничего не было создано. Я не уверен, что не так с моим текущим сценарием. Поскольку по соображениям безопасности я не могу указать местоположение файла и расположение сервера, я прокомментировал их в этом вопросе. Следующий скрипт, который у меня пока есть, ниже
#Create a receive port function#
#A new receive location will also be created and associated with the receive port#
#================================================================================#
Function CreateRPandRL()
{
#Creating Receive Port
$myReceivePort = $catalog.AddNewReceivePort($false)
$myReceivePort.Name = "My Receive Port"
#Creating Receive Location
$myReceiveLocation = $myReceivePort.AddNewReceiveLocation()
foreach ($handler in $catalog.ReceiveHandlers)
{
if ($handler.TransportType.Name -eq "File")
{
$myReceiveLocation.ReceiveHandler = $handler
break
}
}
#Associate a transport protocol and URI with receive location
$myReceiveLocation.TransportType = $catalog.ProtocolTypes["File"]
$myReceiveLocation.Address = #the file location that I am using which exists on another server
#Assign the first receive pipeline found to process the message
foreach ($pipeline in $catalog.Pipelines)
{
if ($pipeline.Type -eq [Microsoft.BizTalk.ExplorerOM.PipelineType] "Receive")
{
$myReceiveLocation.ReceivePipeline = $pipeline
break
}
#Enable the receive location
$myReceiveLocation.Enable = $true
}
#Try to commit the changes made so far. If the commit fails,
#roll back changes
$catalog.SaveChanges()
}
#================================================================================#
#Main Script#
#================================================================================#
#make sure the ExplorerOM assembly is loaded
[void][System.reflection.Assembly]::LoadwithPartialName("Microsoft.BizTalk.ExplorerOM")
#Connect to the BizTalk management database
$Catalog = New-Object Microsoft.BizTalk.ExplorerOM.BtsCatalogExplorer
$Catalog.ConnectionString = "SERVER = #the BizTalk server location I am using; DATABASE=BizTalkMgmtDB; Integrated Security=SSPI"
#Create the new receive port with its receive location
CreateRPandRL