Exchange 2013.

Karl Lemak 0 Баллы репутации
2024-06-13T07:07:37.0933333+00:00

Здравствуйте.

После отмены делегирования прав пя другому пользователю из толстого Outlook он не пропал. Если открыть вылетает ошибка прав доступа.

Оказывается осталась запись в атрибуте "msExchDelegateListBL". Почистить его не получилось ручками. Он только для чтения. Другой атрибут "msExchDelegateListLink" где установлено значение DN пользователей пустое.

Как выйти из этой ситуации? Посоветуйте, пожалуйста.

Exchange 2013 CU23.

Напишите если надо что-то дополнить для уточнений.

Exchange Server
Exchange Server
Семейство программного обеспечения для обмена сообщениями и совместной работы с клиентом и сервером Майкрософт.
Вопросы: 27
Комментариев: 0 Без комментариев
Голосов: {count}

Ответы: 3

Сортировать по: Наиболее полезные
  1. Ivan Prodanov 400 Баллы репутации
    2024-06-14T07:36:22.07+00:00

    Здравствуйте.

    Проблема, с которой вы столкнулись, связана с атрибутами "msExchDelegateListBL" и "msExchDelegateListLink" в Active Directory (AD), которые управляют правами делегатов в Exchange. Если эти атрибуты некорректно обновлены или содержат устаревшие записи, это может вызвать ошибки при открытии Outlook и управлении правами доступа.

    Вот шаги, которые вы можете предпринять для решения этой проблемы:

    Используйте ADSI Edit

    ADSI Edit — мощный инструмент для работы с объектами Active Directory. С его помощью можно вручную редактировать атрибуты объектов.

    1. Откройте ADSI Edit (вы можете найти его в меню «Администрирование» или запустить через «Пуск»).
    2. Подключитесь к правильному разделу домена (обычно это «Default naming context»).
    3. Перейдите к учетной записи пользователя, у которого вы хотите удалить делегатов.
    4. Найдите и откройте атрибут msExchDelegateListBL.
    5. В атрибуте msExchDelegateListBL удалите записи, которые больше не актуальны.

    Примечание: Будьте очень осторожны при изменении атрибутов через ADSI Edit, так как неправильные изменения могут повлиять на работу Active Directory.

    Используйте PowerShell

    Для автоматизации и предотвращения ошибок вы можете использовать PowerShell для управления атрибутами.

    Откройте Exchange Management Shell.

    1. Выполните команду, чтобы найти учетную запись пользователя: Get-Mailbox <UserIdentity> | Select-Object DisplayName,PrimarySmtpAddres
    2. Используйте команду Set-AdUser для удаления делегатов: Set-AdUser -Identity <UserDN> -Clear msExchDelegateListBL Пример: Set-AdUser -Identity "CN=User,OU=Users,DC=domain,DC=com" -Clear msExchDelegateListBL

    Проверьте атрибуты

    1. После внесения изменений, проверьте, что атрибуты msExchDelegateListBL и msExchDelegateListLink обновлены корректно и не содержат устаревших записей.
    2. Перезапустите Outlook и проверьте, исчезла ли ошибка.

    Перепроверьте делегатов

    Убедитесь, что делегаты настроены корректно в Outlook. Для этого выполните следующие шаги:

    1. Откройте Outlook.
    2. Перейдите в «Файл» > «Настройки учетной записи» > «Доступ делегатов».
    3. Убедитесь, что список делегатов корректен и не содержит лишних записей. Проверьте атрибуты
    4. После внесения изменений, проверьте, что атрибуты msExchDelegateListBL и msExchDelegateListLink обновлены корректно и не содержат устаревших записей.
    5. Перезапустите Outlook и проверьте, исчезла ли ошибка. Если проблема не решена, проверьте журналы событий на предмет ошибок, связанных с Exchange и AD. Убедитесь, что Exchange Server и все компоненты AD синхронизированы и работают корректно.

  2. Ivan Prodanov 400 Баллы репутации
    2024-06-15T09:21:52.6033333+00:00

    Ошибка, которую вы видите, указывает на то, что атрибут msExchDelegateListBL защищен системой и не может быть изменен напрямую с помощью стандартных команд PowerShell.

    Если ADSI Edit не подходит, можно попробовать использовать cmdlets от Quest для управления AD.

    Установите модули Quest:

    • Сначала скачайте и установите модули Quest Active Directory. Это можно сделать, скачав соответствующий MSI пакет из интернета, так как Quest AD cmdlets не включены в Windows по умолчанию.
    1. Импортируйте модуль:

    Import-Module ActiveDirectory

    **3.Используйте командлеты Quest для изменения атрибута**:
    
    • Найдите пользователя и измените атрибут: $user = Get-QADUser -Identity "имя пользователя" $user.Put("msExchDelegateListBL", $null) $user.SetInfo()

    Использование LDIFDE для экспорта и импорта изменений

    Можно использовать LDIFDE для экспорта атрибута, его редактирования и последующего импорта изменений.

    1. Экспортируйте данные: ldifde -f export.ldf -d "CN=User,OU=Users,DC=domain,DC=com" -l "msExchDelegateListBL"
    2. Редактируйте экспортированный файл:
      • Откройте export.ldf в текстовом редакторе и удалите строки, содержащие ненужные значения msExchDelegateListBL.
    3. Импортируйте изменения: ldifde -i -f export.ldf

    Проверка после изменений

    После выполнения изменений проверьте, что проблема устранена:

    1. Перезапустите Outlook и проверьте доступ к делегатам.
    2. Убедитесь, что атрибуты msExchDelegateListBL и msExchDelegateListLink обновлены корректно.
    Комментариев: 0 Без комментариев

  3. Karl Lemak 0 Баллы репутации
    2024-06-17T06:52:53.7933333+00:00

    Здравствуйте.

    Если по непонятной причине атрибут "msExchDelegateListBL" содержит неактуальные данные и возникают ошибки то можно сделать следующее:

    Через консоль на exchange удалить права на проблемный ящик.

    Remove-MailboxPermission -Identity "user1" -User "user14" -AccessRights FullAccess -InheritanceType All

    В этом примере удаляется разрешение user14 на полный доступ к почтовому ящику user1.

    У меня вылезали ошибки постоянные на доступ к user1 и никак иначе обновляться этот атрибут не хотел. Через веб интерфейс добавлять и удалять разрешения оказалось бесполезным.

    Через АД очистить этот атрибут не получится.

    Всё оказалось проще. В целом всё надо делать через консоль.


Ваш ответ

Автор вопроса может помечать ответы как принятые. Это позволяет пользователям узнать, что ответ помог решить проблему автора.