Как я могу создать список рассылки Exchange внутри глобального списка адресов с помощью .NET?

Нам нужно удаленно создать список рассылки Exchange 2007 из Asp.Net.

Насколько я могу судить, единственный способ создать список рассылки в глобальном списке адресов - использовать инструменты управления обменом. Есть ли способ удаленно создать список рассылки, не устанавливая его на наш веб-сервер? Существуют некоторые сторонние компоненты, которые позволяют создавать личные списки рассылки, но они находятся только в папке контактов пользователей и недоступны для всех пользователей в компании.

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

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

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

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


person Darren    schedule 29.09.2008    source источник


Ответы (2)


Ищите LDAP.NET, у меня его нет под рукой, но я делал это раньше, и в то время он работал хорошо.

Изменить: я должен добавить, что LDAP - это облегченный протокол доступа к каталогам.

Кроме того, я не могу найти LDAP.NET (мне стало любопытно, и я пошел посмотреть), и теперь кажется, что есть встроенное пространство имен System.DirectoryServices, чтобы сделать это за вас.

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

person Mark Allen    schedule 29.09.2008
comment
Я знаю LDAP и другие API-интерфейсы AD, но документации о том, как Exchange использует AD, не так много. Мы могли бы реконструировать то, что делает Exchange, но без документации я опасаюсь, что наш код сломается со следующим пакетом обновления Exchange. - person Darren; 30.09.2008
comment
@Darren: Это просто LDAP - Exchange может (и делает) расширять схему, но кроме, возможно, необходимости корректировать, какие поля вы устанавливаете в будущем, когда вы создаете или обновляете группу, все в порядке. (Я бывший сотрудник службы технической поддержки, который поддерживал Exchange, включая AD, поэтому я не гадаю здесь.) - person Mark Allen; 30.09.2008
comment
Спасибо, Марк, мы пошли дальше и создали новый список с помощью AD, и, похоже, он работает (это эквивалент 'new-DistributionGroup' в PowerShell). Однако требуется еще один шаг - «enable-DistributionGroup» в PowerShell, который, кажется, творит некую магию Exchange, которая фактически позволяет DG получать электронную почту. Это не похоже на настройку AD, но мы могли искать не в том месте. Вы знаете какой-либо способ включить DG через AD? - person Darren; 02.10.2008
comment
У меня нет собственности навскидку, извините. Где-то должно быть определенное свойство, чтобы это установить. Возможно, сравните атрибуты с technet.microsoft.com/en- us / library / bb123558 (EXCHG.65) .aspx - person Mark Allen; 31.03.2011

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

person ballpointpeon    schedule 07.10.2008