2

我们需要从 Asp.Net 远程创建一个 Exchange 2007 分发列表。

据我所知,在 GAL 中创建分发列表的唯一方法是通过交换管理工具。如果不在我们的网络服务器上安装它,有没有办法远程创建分发列表?有一些第三方组件允许您创建个人分发列表,但这些组件仅存在于用户联系人文件夹中,并非对公司内的所有用户都可用。

理想情况下,会有某种 Web 服务调用来交换或我们可以使用的 API。Exchange SDK 提供了管理 Exchange 数据(例如电子邮件、联系人、日历等)的能力。似乎没有 Exchange 管理 API。

看起来分发列表作为具有特殊 Exchange 属性的组对象存储在 AD 中,但似乎没有任何关于它们应该如何工作的文档。

编辑:我们可以对 Exchange 对 AD 所做的事情进行逆向工程,但我担心的是,随着 Exchange 的下一个服务包,这一切都会中断。

是否有 API 可用于管理 Active Directory 中的通讯组列表而无需通过 Exchange?

4

2 回答 2

1

我们在启用以编程方式创建的公用文件夹的邮件时遇到了类似的问题,需要在活动目录中的交换系统对象上设置 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 启动之前用完连接,最终不得不重新启动服务器以清除它们。

于 2008-10-07T13:32:06.360 回答
1

寻找 LDAP.NET,我手边没有,但我以前做过,当时效果很好。

编辑:我应该补充一点,LDAP 是轻量级目录访问协议。

另外,我找不到 LDAP.NET(我很好奇并去看了),现在看来有一个内置的 System.DirectoryServices 命名空间可以为您完成。

http://social.msdn.microsoft.com/forums/en-US/netfxbcl/thread/729d1214-37f5-4330-9208-bc4d9d695ad0

于 2008-09-29T19:53:12.800 回答