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