2009-10-04 4 views

答えて

8

あなたが知っているように、ExplorerOMのほかに、WMIを使用して受信場所を有効/無効にしたり、送信ポートを制御したりすることもできます。

興味のあるものは、これらのことを行う方法を示すサンプルのPowerShellスクリプトがあります。here

+0

これは間違いなく有効です。より多くのオプションが良いです。ママに感謝します。 –

2

解決策が見つかりました。 Microsoft.BizTalk.ExplorerOM.dllが私の望むものだと思われます。ここでは誰が始める必要があるのBizTalkドキュメントからの抜粋です:

using System; 
using Microsoft.BizTalk.ExplorerOM; 
public static void EnumerateOrchestrationArtifacts() 
{ 
    // Connect to the local BizTalk Management database 
    BtsCatalogExplorer catalog = new BtsCatalogExplorer(); 
    catalog.ConnectionString = "Server=.;Initial Catalog=BizTalkMgmtDb;Integrated Security=SSPI;"; 

    // Enumerate all orchestrations and their ports/roles 
    Console.WriteLine("ORCHESTRATIONS: "); 
    foreach(BtsAssembly assembly in catalog.Assemblies) 
    { 
     foreach(BtsOrchestration orch in assembly.Orchestrations) 
     { 

      Console.WriteLine(" Name:{0}\r\n Host:{1}\r\n Status:{2}", 
       orch.FullName, orch.Host.Name, orch.Status); 

      // Enumerate ports and operations 
      foreach(OrchestrationPort port in orch.Ports) 
      { 
       Console.WriteLine("\t{0} ({1})", 
        port.Name, port.PortType.FullName); 

       foreach(PortTypeOperation operation in port.PortType.Operations) 
       { 
        Console.WriteLine("\t\t" + operation.Name); 
       } 
      } 

      // Enumerate used roles 
      foreach(Role role in orch.UsedRoles) 
      { 
       Console.WriteLine("\t{0} ({1})", 
        role.Name, role.ServiceLinkType); 

       foreach(EnlistedParty enlistedparty in role.EnlistedParties) 
       { 
        Console.WriteLine("\t\t" + enlistedparty.Party.Name); 
       } 
      } 

      // Enumerate implemented roles 
      foreach(Role role in orch.ImplementedRoles) 
      { 
       Console.WriteLine("\t{0} ({1})", 
        role.Name, role.ServiceLinkType); 
      } 
     } 
    } 
} 

1つの警告、どうやらこのDLLは64ビットをサポートしていません。私は単純なユーティリティを書いているだけなので、それは大きな問題ではありません(32ビットとしてコンパイルするだけです)。

+0

は、私は、BizTalk Serverにリモートアクセスするために使用することができます?? – Kiquenet

+0

ちょっとAlhambraeidos、私はあなたが正しく理解している場合はできます。私は受信場所を選択してそれをオフにできる小さなウィンドウアプリケーションを作成するためにこれを使用しました。 –

0

Alhambraeidosコメントに応じて。ここにいます、私はリモートで受信場所を無効にするには、Windowsのアプリケーションで使用されるコードの一部抜粋です:

​​

あなたは、私が「場所と呼ばれる受信場所の辞書を作成していたように私は、取り残さ一部があることがわかります"しかし、あなたはその考えを得ることができるはずです。このパターンは、やりとりしたいBizTalkオブジェクトにも当てはまります。

1

あなたは解決策を見つけたようです。

Powershell、ExplorerOM、およびBizTalk APIを使用してBizTalkアーティファクトをさまざまなステータスに設定する同様の代替方法について言及したいとします。

受信場所がその1つです。

このスクリプトでは、成果物とそのステータスを設定するXML設定ファイルを使用できます。

スクリプトは、Microsoftスクリプトセンターに公開されました: http://gallery.technet.microsoft.com/scriptcenter/Set-Artifact-Status-270f43a0

関連する問題