IDFIX Вам в помощь! :)

В процессе подготовки к синхронизации с Облаком мы проверяем локальную (on-prem) инфраструктуру, запуская Deployment Readiness Tool. Эта архиполезнейшая утилита проверяет готовность on-prem по нескольким фронтам: Domains, User Identity and Account Provisioning, Exchange Online, Lync Online, SharePoint Online, Client and End User Experience, Network. Все настройки, которые не удовлетворяют начальным требованиям, выписываются в отчёте. Давайте сегодня заострим своё внимание на проверке AD в части User Identity and Account Provisioning. От результатов этой проверки зависит успешная работа DirSync.

Может так случиться, что отчёт укажет на многочисленные требующие исправления настройки локальных учётных данных (пользователей, групп, т.п.). Какие-то атрибуты могут содержать некорректные символы, или длина имён может превышать поддерживаемую, какие-то нужные атрибуты могут вообще отсутствовать, т.п. В условиях, когда требующих исправления объектов много (сотни или тысячи), как ускорить процедуру подготовки? Или – как не вполне сведущему админу понять, на какие правильные значения следовало бы изменить некорректные атрибуты?

Для этого выпущена утилита IDFIX. Она проверяет, какие атрибуты у объектов, предполагаемых к синхронизации с Office 365, не соответствуют нормам, выписывает их в столбик для ясности, и предлагает варианты по их исправлению (если может). Проверяются объекты изо всех доменов леса, в контексте которого IDFIX запускается. В результате отработки администратор может увидеть примерно такой результат:

image

В данном примере у пользователя test01 два атрибута – SAMAccountName и UserPrincipalName – содержат неверные значения (длина имён превышает допустимую). В колонке Update утилита предоставляет вариант по исправлению. Если там пусто – значит, придётся решать самому Smile Впрочем, поправить можно и то значение, которое предлагается утилитой.

Инициируется старт работы в меню: Directory –> Query AD:

image

Коррекция значений выполняется так. В колонке Status для каждого значения можно установить разные варианты действий:

  • Complete – не трогать исходное значение, не менять его;
  • Remove – удалить значение атрибута (например, может существовать два объекта с одним и тем же значением атрибута ProxyAddress, тогда можно у одного из них оставить этот атрибут без изменения, у второго – удалить);
  • Edit – изменить значение атрибута на прописанное в ячейке Update;
  • Undo – этот вариант появляется только если пользователь загрузил предварительно сохранённый Update-файл для восстановления предыдущих значений;
  • Fail – утилита не справилась, тут какая-то ошибка, требуется вручную проверить этот объект и атрибут, например с помощью ADSIEDIT.

Для моего примера, я задаю как поступать утилите с моими “кривыми” объектами:

image

И нажимаю Directory –> Apply Pending. Появляется окошко варнинга:

image

И после решительного Yes – видим результат:

image

Статус COMPLETE говорит об успешном применении заявленных изменений.

Все действия журналируются в текстовые файлы. Кроме того, в процессе каждой процедуры Apply Pending генерится файл LDF, содержащий снимок задания на выполнение (заполненные колонки Value-Update-Status до изменения), так что можно подгрузить его впоследствии и вернуть изменённые значения на прежние.

Поддерживается и просто экспорт списка в файл (CSV/LDF) для последующего анализа, независимо от выполнения изменений.

Для запуска утилиты нужно иметь на ПК установленным .NET 4.0. Запускать утилиту нужно под доменной учётной записью с правами, достаточными для чтения атрибутов объектов как минимум. Ну и для записи исправлений, если есть намерение сделать это с её помощью.