2008-09-29 31 views
3

我們需要從Asp.Net遠程創建一個Exchange 2007發佈列表。如何使用.NET在GAL內部創建Exchange分發列表?

附近,我可以告訴,在GAL中創建通訊組列表的唯一方法是通過交換管理工具。沒有在我們的Web服務器上安裝這個,有什麼方法可以遠程創建分發列表?有一些第三方組件允許您創建個人通訊組列表,但這些組件僅存在於用戶聯繫人文件夾中,並且不適用於公司內的所有用戶。

理想情況下,會有某種Web服務調用交換或我們可以使用的API。 Exchange SDK提供了管理Exchange數據(例如電子郵件,聯繫人,日曆等)的功能。似乎沒有Exchange管理API。

看起來分佈列表作爲具有特殊Exchange屬性的組對象存儲在AD中,但似乎沒有關於它們應該如何工作的任何文檔。

編輯:我們可以逆向工程Exchange與AD做的事情,但我擔心的是,使用Exchange的下一個服務包,這將全部中斷。

是否有API可用於在不通過Exchange的情況下管理Active Directory中的通訊組列表?

回答

1

尋找LDAP.NET,我沒有它的方便,但我已經做到了,它在當時運行良好。

編輯:我應該添加LDAP是輕量級目錄訪問協議。

此外,我找不到LDAP.NET(我很好奇,去看看),現在看起來有一個內置的System.DirectoryServices命名空間爲你做。

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

+0

我知道LDAP和其他AD apis,但沒有太多關於Exchange如何使用AD的文檔。我們可以對Exchange的工作進行逆向工程,但沒有文檔,我擔心我們的代碼會與下一個Exchange服務包斷裂。 – Darren 2008-09-29 20:16:59

1

我們與郵件使編程創建公共文件夾,並設置在Active Directory中的交換系統對象的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啓動之前可能會耗盡連接,最終不得不重新啓動服務器以清除它們。

相關問題