2008-09-29 4 views
3

Нам нужно дистанционно создать список распространения Exchange 2007 из Asp.Net.Как создать список распространения Exchange внутри GAL с помощью .NET?

Рядом, как я могу судить, единственный способ создать список рассылки в GAL - через инструменты управления обменом. Не устанавливая это на нашем веб-сервере, есть ли способ создать список рассылки удаленно? Есть некоторые сторонние компоненты, которые позволяют создавать персональные списки рассылки, но они живут только в папке «Контакты для пользователей» и недоступны для всех пользователей внутри компании.

В идеале для обмена или API, с которым мы могли бы работать, в любом случае можно было бы обратиться за помощью к веб-сервисам. Exchange SDK обеспечивает возможность управления данными Exchange (например, электронной почты, контактов, календарей и т. Д.). Как представляется, API управления Exchange не существует.

Похоже, что списки рассылки хранятся в AD как объекты группы со специальными атрибутами Exchange, но, похоже, нет какой-либо документации о том, как они должны работать.

Редактировать: Мы могли бы перестроить то, что Exchange делает с AD, но я обеспокоен тем, что со следующим пакетом Exchange Exchange все это сломается.

Есть ли API, который я могу использовать для управления списками рассылки в Active Directory, не проходя через Exchange?

ответ

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

У нас была аналогичная проблема с почтой позволяет программно созданных общих папок и необходимо установить свойство 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 заработает и в конечном итоге придется перезапустить сервер, чтобы очистить их.

Смежные вопросы