1

ExchangeServerによって動的配布グループの現在のメンバーを取得するために検索しています。動的分散グループは、指定されたフィルターに基づいています。「受信者更新サービス」(RUS)は、このフィルターに基づいて、実行時に各連絡先を検索します。従来のコマンドライン引数の相互作用でExchangePowerShellのラッパークラスを使用することで、問題を解決するための多くの情報を見つけました。しかし、これは私の意図した方法ではありません。実行時または相互運用によって動的メンバーを取得するには、「Exchange Webサービス」(EWS)の特別なコマンドが必要だと思いました。私はこれについていくつかの情報を見つけることができませんでした。

誰かがc#を介してこの問題を解決するためのアイデアや情報を持っていますか?

4

1 に答える 1

1

DirectoryServicesは私のためにトリックを行うようです。動的配布リスト(スキーマクラス名= "msExchDynamicDistributionList" )を指すDirectoryEntryを作成し、"msExchDynamicDLBaseDN"および"msExchDynamicDLFilter"プロパティを使用してメンバーを検索します。

using (var group = new DirectoryEntry("LDAP://CN=MyGroup,OU=MyOU,DC=company,DC=com"))
{
   string baseDN = (string)group.Properties["msExchDynamicDLBaseDN"].Value;
   string filter = (string)group.Properties["msExchDynamicDLFilter"].Value;

   using (var searchRoot = new DirectoryEntry("LDAP://" + baseDN))
   using (var searcher = new DirectorySearcher(searchRoot, filter, propertiesToLoad))
   using (var results = searcher.FindAll())
   {
      foreach (SearchResult result in results)
      {
         // Use the result
      }
   }
}

グループのメンバーは、ユーザー、連絡先、およびパブリックフォルダーだけでなく、通常のグループまたはその他の動的配布グループである可能性があることに注意してください。

于 2012-09-28T17:29:10.110 に答える