2009-11-03 2 views
3

나는 (내가 HostSetting.GetInstances를 사용하고 등 호스트, 호스트 인스턴스와 같은 BizTalk 아티팩트에 대한 몇 가지 WMI 래퍼 클래스,BizTalk WMI 원격 래퍼

를 생성하는 닷넷 프레임 워크 SDK에서 MgmtClassGen.exe을 사용하고 있습니다) 로컬 호스트 (로컬 BizTalk Server)를 가져옵니다. 이것은 잘 작동합니다. 다른 BizTalk 관리 데이터베이스 이름을 가진 다른 BizTalk 컴퓨터의 호스트에 대해 동일한 작업을 수행 할 수있는 방법을 찾고 있습니다. 래퍼 클래스를 사용하여이 작업을 수행 할 수있는 방법을 찾을 수 없습니다. 래퍼 클래스가 필요합니다. 모든 아이디어를 서버 'ServerX'에 'MyManagementDB'라는 이름으로 BizTalk 관리 데이터베이스에 연결하는 방법은 무엇입니까?

미리 감사드립니다.

답변

2

WMI 범위 선언에 지정하여 연결할 다른 서버를 선택할 수 있습니다.

ManagementClass objHostSettingClass = new ManagementClass("root\\MicrosoftBizTalkServer", "MSBTS_HostSetting", null); 

생성자 호출에서 첫 번째 매개 변수 범위가 : 코드에서

은 다음과 같은 것을해야합니다. 은 WMI MicrosoftBizTalkServer 공급자가 직접 서버의 호스트 인스턴스에 액세스 할 수 있도록해야한다 -

ManagementClass objHostSettingClass = new ManagementClass("\\\\ServerX\\root\\MicrosoftBizTalkServer", "MSBTS_HostSetting", null); 

난 당신이 메시지 상자의 이름을 알아야 할 필요가 있다고 생각하지 않습니다 아래 그림과 같이이 서버 이름을 포함 할 수 있습니다.

EDIT 막심 아래 댓글에서 지적한 것처럼

는 WMI 범위를 설정하는 방법이있는 MgmtClassGen.exe 툴에 의해 생성 된 코드와 함께 더욱 통합있다.

이렇게하면 생성 된 클래스의 StaticScope 속성을 설정할 수 있습니다. 이것은 여전히 ​​범위를 정의하는 문자열을 작성하는 것을 포함하지만이를 정의하는 단일 장소를 제공합니다. Maxime에는 StaticScope 문자열을 만드는 도우미 클래스를 정의하는 멋진 게시물이 있습니다.

+1

또는 더 "통합 된"구문을 사용하려면 MgmtClassGen.exe에서 생성 된 강력한 형식의 클래스에 원격 호스트의 관련 아티팩트에 액세스하는 데 사용할 수있는 "StaticScope"속성이 있다는 이점을 활용할 수 있습니다 . 자세한 내용은 내 블로그 항목을 참조하십시오. http://maxime-labelle.spaces.live.com/blog/cns!D8D9369449D177DA!156.entry –

+0

감사합니다. maxime - 저는 실제로 MgmtClassGen.exe를 사용하지 않았습니다. 도구는 WMI 첫 번째 원칙을 토대로 응답합니다. 다행히도 위의 정보를 제 대답으로 편집하여 더 나은 답변을 줄지는 모릅니다. –

+0

문제 없습니다. 기쁜 데 도움이되었습니다. –

0

WMI에 대해 다소 묻기 때문에이 주제가 아닐 수도 있지만 Microsoft.BizTalk.ExplorerOM.dll이라는 모든 BizTalk 아티팩트에 대한 액세스를 제공하는 .NET 라이브러리가 있기 때문에이 기능을 사용할 수 없다는 것을 알고 있습니다. 작은 C# 응용 프로그램에서 수신 위치를 설정/해제하는 데 사용했습니다.

Is there a way to automate turning a BizTalk Receive Location on or off through code?

그냥 다른 옵션 코드를 통해 BizTalk 아티팩트를 변경 또는 투여를위한 : 여기에 대한 자세한 내용은 내 이전 스택 오버플로 질문에 대한 링크입니다.