如何使用.NET在GAL中创建Exchange通讯组列表?

我们需要从Asp.Net远程创建Exchange 2007通讯组列表。 据我所知,在GAL中创建分发列表的唯一方法是通过交换管理工具。如果不在我们的Web服务器上安装它,有没有办法远程创建分发列表?有一些第三方组件允许您创建个人通讯组列表,但这些组件仅存在于用户的“联系人”文件夹中,并且不可供公司内的所有用户使用。 理想情况下会有某种Web服务调用交换或我们可以使用的API。 Exchange SDK提供管理Exchange数据的功能(例如电子邮件,联系人,日历等)。似乎没有Exchange管理API。 看起来分发列表作为具有特殊Exchange属性的组对象存储在AD中,但似乎没有关于它们应该如何工作的任何文档。 编辑:我们可以对Exchange正在对AD做什么进行逆向工程,但我担心的是,使用下一个Exchange服务包时,这一切都会破坏。 是否有一个API可用于管理Active Directory中的通讯组列表而无需通过Exchange?     
已邀请:
寻找LDAP.NET,我没有它的方便但我之前已经完成它并且当时运行良好。 编辑:我应该添加LDAP是轻量级目录访问协议。 此外,我找不到LDAP.NET(我好奇并开始看)现在看来有一个内置的System.DirectoryServices命名空间为你做。 http://social.msdn.microsoft.com/forums/en-US/netfxbcl/thread/729d1214-37f5-4330-9208-bc4d9d695ad0     
我们遇到类似的问题,邮件启用以编程方式创建的公共文件夹,需要在活动目录中的Exchange系统对象上设置msExchHideFromAddressLists属性...
using (DirectoryEntry LDAPConnection = new DirectoryEntry("LDAP://OURDOMAIN/CN=" + name+ ",CN=Microsoft Exchange System Objects,DC=ourdomain,DC=com"))
{
    LDAPConnection.AuthenticationType = AuthenticationTypes.Secure;
    LDAPConnection.Properties["msExchHideFromAddressLists"].Value = false;
    LDAPConnection.CommitChanges();
}
PS。确保正确处理任何DirectoryEntries,否则在GC启动之前您可能会用完连接,最终必须重新启动服务器才能清除它们。     

要回复问题请先登录注册