Мы запрашиваем количество (десятки) серверов LDAP (в основном Active Directory, но не исключительно), чтобы определить, какие почтовые ящики активны, с целью приложения почтового шлюза / пересылки.
Мы встречались в некоторых случаях, когда для userAccountControl бит 2 был установлен в значение true (он же ACCOUNTDISABLE), но почтовый ящик все еще был активен.
Я полагаю, это соответствует учетной записи Windows, которая была отключена, но для которой почтовый ящик все еще активен.
Это когда-нибудь действительно имеет смысл? Или это просто битая конфигурация?
Если это имеет смысл, есть ли какой-либо способ через LDAP надежно обнаружить эту конфигурацию (то есть, что userAccountControl отключен, но почтовый ящик не отключен)?
В настоящее время мы игнорируем отключенный атрибут userAccountControl, потому что иногда кажется (хотя в небольшом меньшинстве случаев) он соответствует активному почтовому ящику. Мы хотели бы надежно обнаружить эту ситуацию, а не оставлять эти сотни «отключенных» почтовых ящиков активными.
msExchMailboxGuid
было бы лучше всего, так как каждый активный почтовый ящик должен иметь один, и обмен удаляет значение, когда почтовый ящик отключен (протестировано на Exchange 2010 с последними обновлениями).У почтового ящика Exchange есть два отключенных состояния.
То, что многие считают «отключением», происходит при запуске командлета Disable-Mailbox. Это фактически удаляет большинство атрибутов Exchange из учетной записи и отключает почтовый ящик.
Однако есть атрибут AD msExchUserAccountControl. Если установлено значение 2, почтовый ящик отключен. Статус включен / отключен, как правило, такой же, как у userAccountControl, и контролируется Exchange.
Если msExchUserAccountControl существует и имеет значение 0, почтовый ящик технически включен.