Миграция между доменами Active Directory (AD) представляет собой одну из наиболее сложных задач в управлении корпоративной инфраструктурой, требующую не только глубоких технических знаний, но и тщательного планирования, координации и понимания взаимозависимостей всей IT-экосистемы. Это не просто операция по перемещению объектов; это полноценный проект, который может затронуть все аспекты работы организации — от базовых служб, таких как DNS и DHCP, до критически важных бизнес-приложений. Недооценка сложности этого процесса часто приводит к серьезным сбоям, потере производительности и созданию долгосрочных уязвимостей безопасности. Поэтому первый и самый важный этап — это тщательная подготовка, которая закладывает фундамент для успешного завершения всей операции. Этот раздел посвящен анализу ключевых принципов и предварительных условий, которые должны быть выполнены до начала любого типа миграции, будь то перемещение объектов внутри одного леса или переход между двумя независимыми лесами.
Центральным элементом подготовки является всесторонняя оценка текущего состояния Active Directory. Это включает в себя проверку здоровья репликации, определение владельцев FSMO-ролей и оценку уровня функциональности леса и домена. Здоровье репликации является абсолютным приоритетом, поскольку любая миграция, основанная на неполном или конфликтном состоянии данных, обречена на провал. Для этой цели используются такие инструменты, как repadmin /showrepl и dcdiag. Команда repadmin /showrepl * /csv > showrepl.csv позволяет сгенерировать подробный отчет CSV, который можно импортировать в Excel для анализа последнего времени успешной и неуспешной репликации для каждого контроллера домена. Любые длительные задержки или постоянные ошибки репликации указывают на проблемы с сетью, DNS или конфигурацией самой службы каталогов, которые необходимо устранить до начала миграции. Проблемы с репликацией могут привести к тому, что новые контроллеры домена получат неполные данные, а некоторые объекты не будут найдены в новом домене, что сделает невозможным их миграцию. Например, в одном из случаев длительное отключение старого DC от партнеров DFSR (более 60 дней) привело к тому, что новый DC не смог получить SYSVOL, что стало причиной сбоя в работе службы.
Другим критическим параметром является уровень функциональности леса и домена. Уровень функциональности определяет, какие возможности и технологии Active Directory поддерживаются в данной среде. При миграции на более новые версии Windows Server, например, с Server 2012 R2 на Server 2022 или Server 2025, необходимо заранее повысить уровень функциональности леса до соответствующего минимума. Например, для установки Windows Server 2025 в качестве нового контроллера домена в лесу требуется, чтобы уровень функциональности леса был не ниже Windows Server 2016. Повышение уровня функциональности является односторонней операцией, и она должна быть произведена немедленно перед повышением версии последнего контроллера домена. Это действие делает недоступными функции, используемые более старыми версиями контроллеров, поэтому крайне важно убедиться, что все старые DC были полностью демонтированы и удалены из инфраструктуры. Также важно отметить, что новые версии Windows Server могут вносить изменения в протоколы аутентификации. Например, Windows Server 2025 по умолчанию не выдает TGT на основе RC4, что может вызвать проблемы с работой старых бизнес-приложений, зависящих от этого алгоритма шифрования. Таким образом, оценка уровня функциональности — это не только формальность, а стратегическое решение, которое влияет на совместимость с существующими приложениями и безопасностью.
Помимо внутреннего состояния AD, необходимо провести полный аудит зависимостей. Миграция одного пользователя — это лишь верхушка айсберга. За каждым пользователем стоят права доступа к файловым ресурсам, почтовым ящикам, базам данных, лицензиям на программное обеспечение и другим системам. Необходимо составить исчерпывающий список всех ресурсов, на которые пользователи имеют доступ, и определить, как эти зависимости будут обработаны в новом домене. Это особенно актуально для миграции между лесами, где используется SID History для сохранения доступа. Однако многие системы, особенно те, что не являются частью экосистемы Microsoft, не поддерживают SID History. Ярким примером является SharePoint, который требует явного обновления авторизаций через специальные команды PowerShell, такие как Move-SPUser. Игнорирование таких зависимостей приведет к тому, что после миграции пользователи потеряют доступ к своим данным, даже если их учетные записи успешно созданы в новом домене. Кроме того, необходимо проанализировать конфигурации приложений, которые могут содержать жестко закодированные пути к ресурсам, имена серверов или имена пользователей, которые потребуется обновить после миграции. Этот этап требует тесного сотрудничества с владельцами бизнес-процессов и разработчиками приложений, чтобы гарантировать, что ни одна зависимость не будет упущена.
На основе собранной информации разрабатывается детальный план миграции. Этот план должен включать в себя четкий график, назначение ответственных лиц, описание каждого шага, а также контингентные планы на случай сбоев. Важным элементом плана является проведение пилотной миграции. Вместо того чтобы сразу приступать к массовой миграции, рекомендуется выбрать небольшую группу «персонажей» — пользователей, представляющих различные роли, рабочие процессы и наборы приложений. Цель пилотной миграции — проверить всю процедуру в реальных условиях, выявить скрытые проблемы с зависимостями, аутентификацией и доступом к ресурсам, прежде чем переходить к полномасштабному внедрению. Этот подход позволяет значительно снизить риски и минимизировать воздействие на конечных пользователей.
Наконец, абсолютно критически важным шагом является создание полной и проверенной копии всей инфраструктуры в изолированной тестовой среде. Только в такой среде можно безопасно тестировать все шаги миграции, экспериментировать с различными сценариями и оттачивать процедуры без риска для производственной среды. Все шаги миграции, от создания доверительных отношений до запуска Security Translation Wizard, должны быть протестированы на этом стенде. Любые проблемы, выявленные во время тестирования, должны быть документированы и исправлены перед тем, как применять ту же процедуру в производственной среде. Это также дает возможность подготовить и отработать процедуру восстановления в случае, если что-то пойдет не так. Без этой тщательной подготовки миграция AD становится скорее игрой в русскую рулетку, чем управляемым проектом. Успех здесь зависит не столько от выбора правильного инструмента, сколько от глубины понимания текущей среды и готовности потратить время на ее тщательную проверку и подготовку.
Внутри-лесовая миграция (intra-forest migration) представляет собой процесс перемещения объектов Active Directory, таких как пользователи, компьютеры и группы, между двумя или более доменами, находящимися в рамках одного леса. Это наиболее распространенный сценарий миграции, часто используемый для реструктуризации компании, объединения отделов, приведения именования в соответствие с новыми стандартами или подготовки к переходу в облако. Главное преимущество такого подхода заключается в том, что все домены внутри одного леса автоматически находятся в двухстороннем, транзитивном доверительном отношении. Это означает, что контроль над доступом (ACLs) и аутентификационные токены могут свободно перемещаться между этими доменами без необходимости явного создания дополнительных доверительных отношений, что значительно упрощает процесс по сравнению с меж-лесовой миграцией. Тем не менее, эта простота обманчива, и успешное выполнение внутри-лесовой миграции требует методичного подхода к перемещению объектов и, что еще более важно, к переносу прав доступа, чтобы гарантировать, что пользователи и группы не теряют доступ к ранее предоставленным ресурсам.
Процесс миграции объектов начинается с подготовки целевой среды. Это включает в себя создание новых доменов, если они еще не существуют, и установку на них новых контроллеров домена, работающих на современных версиях Windows Server. Критически важно, чтобы новые DC были настроены корректно, включая репликацию SYSVOL с использованием Distributed File System Replication (DFSR), а не старого File Replication Service (FRS), который больше не поддерживается в современных версиях ОС. После установки и настройки новых DC необходимо убедиться, что они полностью синхронизированы со старыми контроллерами домена с помощью команд repadmin /showrepl и dcdiag. Только после подтверждения здорового состояния репликации можно приступать к перемещению самих объектов.
Для перемещения объектов внутри леса существует несколько инструментов. Наиболее эффективным средством для перемещения пользователей, компьютеров и групп в целевые организационные юниты (OU) является команда Move-ADObject из модуля ActiveDirectory PowerShell. Эта команда позволяет выполнять массовое перемещение объектов, указывая источник и назначение. Например, Move-ADObject -Identity «CN=John Doe,CN=Users,DC=olddomain,DC=com» -TargetPath «OU=Users,DC=newdomain,DC=com» переместит указанного пользователя в OU целевого домена. Для большого количества объектов можно использовать циклы PowerShell для автоматизации этого процесса. Альтернативой является использование Active Directory Migration Tool (ADMT), который предоставляет графический интерфейс и может выполнять дополнительные задачи, такие как перевод профилей. Однако стоит помнить, что ADMT v3.2, хотя и поддерживает внутри-лесовые миграции, является устаревшим продуктом и имеет ряд известных проблем, что делает его использование рискованным в современных средах.
Однако само по себе перемещение объектов в AD не изменяет их уникальный идентификатор безопасности (SID). SID состоит из доменного SID и RID (Relative Identifier). Когда объект перемещается в другой домен, его доменный SID меняется, но его RID остается прежним. Если бы мы просто переместили объекты, то все ACLs, которые ссылались на старые SIDs, стали бы невалидными, и пользователи потеряли бы доступ к своим файлам, папкам, принтерам и другим ресурсам. Именно для решения этой проблемы используется механизм Security Translation. Он позволяет обновить ACLs на всех ресурсах, заменив старые SIDs на новые, соответствующие перемещенным объектам. Официально рекомендованной процедурой для этого является использование Security Translation Wizard из комплекта ADMT. Этот инструмент сканирует целевые OU и файловые ресурсы, на которых есть ACLs, содержащие старые SIDs, и заменяет их на новые. Важно понимать, что этот процесс может быть очень ресурсоемким и требовать значительного времени для больших предприятий. Кроме того, ADMT не может мигрировать объекты групп политики (GPOs); их необходимо скопировать вручную или с помощью других средств, таких как GPMC.
После перемещения пользователей и обновления прав доступа необходимо обработать их профили. Профили пользователей содержат важную информацию: настройки рабочего стола, избранные сайты, файлы автозагрузки, настройки почтовых клиентов и многое другое. Простое перемещение учетной записи не переносит эту информацию. Для этого предназначен User State Migration Tool (USMT), который является частью Windows Assessment and Deployment Kit (ADK). USMT позволяет создать «образ» профиля пользователя на старом компьютере, а затем применить этот образ на новом компьютере после миграции. Процесс обычно включает два этапа: захват (scanstate) и применение (loadstate). scanstate собирает данные с профиля, а loadstate применяет их к новому профилю. Это позволяет пользователям продолжить работу с минимальными потерями, сохранив их индивидуальные настройки и данные. Важно отметить, что локальные профили пользователей не мигрируются с помощью ADMT по дизайну.
Завершающим этапом внутри-лесовой миграции является проверка и очистка. После того как все пользователи и компьютеры были перемещены, необходимо провести тщательную проверку. Это включает в себя вход в систему с несколькими аккаунтами для проверки доступа к файловым ресурсам, сети, приложениям и почте. Также необходимо проверить корректность работы Group Policy Objects (GPOs) в новых доменах. После того как все было проверено и подтверждено, что миграция прошла успешно, следует заняться очисткой. Это включает в себя удаление старых пользовательских учетных записей и компьютерных объектов из старых доменов, чтобы избежать путаницы и снижения безопасности. Кроме того, необходимо обновить все зависимости, которые могут ссылаться на старые имена доменов или компьютеров, например, в конфигурациях приложений, скриптах и файлах hosts. Этот процесс требует внимания к деталям, но является обязательным для создания чистой и управляемой среды в новом домене.
| Этап Миграции | Инструмент(ы) | Описание |
| Подготовка Целевого Домена | Install-ADDSDomainController, Install-ADDSForest | Установка и настройка новых контроллеров домена на современных версиях Windows Server. |
| Перемещение Объектов | Move-ADObject (PowerShell), ADMT | Перемещение пользователей, групп и компьютеров из старых OU в новые в целевом домене. |
| Перенос Прав Доступа | Security Translation Wizard (ADMT) | Автоматическое обновление ACLs на файловых ресурсах, заменяя старые SIDs на новые. |
| Миграция Профилей | User State Migration Tool (USMT) | Перенос пользовательских профилей, настроек и данных с помощью scanstate и loadstate. |
| Обновление GPOs | GPMC (Group Policy Management Console) | Ручная копия или импорт GPOs в целевые домены, так как ADMT их не мигрирует. |
| Проверка и Очистка | klist, Event Logs, Manual Testing | Проверка доступа, входа в систему, применения GPO. Удаление старых объектов из исходных доменов. |
В заключение, внутри-лесовая миграция, несмотря на кажущуюся простоту благодаря наличию транзитивного доверия, является комплексной задачей, требующей методичного подхода. Она включает в себя несколько ключевых этапов: подготовку, перемещение объектов, критически важный перенос прав доступа с помощью Security Translation, миграцию профилей и, наконец, тщательную проверку и очистку. Игнорирование любого из этих шагов, особенно переноса прав доступа, приведет к серьезным проблемам для конечных пользователей и может свести на нет все усилия по миграции.
Меж-лесовая миграция (inter-forest migration) является значительно более сложной и рискованной операцией по сравнению с внутри-лесовой. Она предполагает перемещение объектов Active Directory, таких как пользователи, группы и компьютеры, из одного леса AD в другой, совершенно независимый лес. Такие миграции обычно происходят в результате слияний компаний, поглощений, крупных корпоративных реструктуризаций или стратегических переходов в облачную среду, где организация хочет создать новый лес для своих облачных ресурсов. Ключевое отличие и главная сложность меж-лесовой миграции заключается в отсутствии каких-либо доверительных отношений между лесами по умолчанию. Чтобы позволить пользователям из одного леса получать доступ к ресурсам в другом, необходимо явно и вручную настроить доверительные отношения. Более того, для обеспечения бесшовного доступа к ресурсам в исходном лесе после миграции активно используется механизм SID History, который сам по себе несет в себе значительные риски для безопасности и производительности.
Первым и самым важным шагом в любом меж-лесовом сценарии является настройка доверительного отношения. По своей сути, это связь, которая позволяет контроллерам домена одного леса проверять удостоверения пользователей из другого леса. Существует несколько типов доверий, но для миграции чаще всего используется двухстороннее доверие широкого покрытия (two-way forest-wide trust). Его создание осуществляется через консоль «Active Directory Domains and Trusts» и требует координации и административных прав в обоих лесах. Процесс включает в себя установление доверия в обоих направлениях (source-to-target и target-to-source) и требует создания DNS-зон-заполнителей (stub zones) в каждом домене, чтобы контроллеры могли разрешать имена доменов в доверенном лесу. Установка доверия является критически важной операцией, и любые ошибки в ее настройке могут привести к тому, что вся миграция станет невозможной, поскольку инструменты, такие как ADMT, не смогут взаимодействовать с объектами в другом лесу.
После настройки доверия возникает главная задача — обеспечить, чтобы мигрированные пользователи могли продолжать получать доступ к ресурсам (файловым общим папкам, базам данных, приложениям), которые все еще находятся в исходном домене. Здесь на помощь приходит SID History. Это специальное расширенное свойство объекта пользователя или группы, которое содержит список старых SIDs, принадлежавших этому объекту в других доменах. Когда пользователь, имеющий SID History, пытается получить доступ к ресурсу, система проверяет не только его текущий SID, но и все SIDs, хранящиеся в его SID History. Если один из этих исторических SIDs есть в списке разрешений для данного ресурса, доступ предоставляется. Это позволяет мигрировать пользователей без немедленного перечисления всех ACLов на тысячах ресурсов, что сделало бы процесс миграции практически невозможным.
Однако для того, чтобы SID History работал через доверительное отношение, необходимо выполнить две критически важные настройки на стороне исходного (source) и целевого (target) лесов. Во-первых, на исходном лесе необходимо отключить фильтрацию SID (SID Filtering). По умолчанию, для безопасности, доверительные отношения отфильтровывают SIDы, происходящие из доверенного леса, чтобы предотвратить злоупотребления, когда злоумышленник из доверенного леса может попытаться получить права локального администратора в исходном лесе. Отключение фильтрации SID разрешает SID History проходить через доверие. Это делается с помощью команды netdom trust {source-domain} /domain:{target-domain} /quarantine:NO. Во-вторых, на целевом лесе необходимо явно разрешить использование SID History. Это делается командой netdom trust {target-domain} /domain:{source-domain} /enablesidhistory. Эти два шага должны быть выполнены с достаточным временным интервалом, чтобы изменения распространились по всему лесу через репликацию, прежде чем можно будет тестировать доступ.
Процесс миграции самого объекта с сохранением пароля и SID History является одним из самых сложных и требовательных к предварительным условиям. Официальным инструментом для этого является Active Directory Migration Tool (ADMT) в связке с Password Export Server (PES). PES — это компонент, который устанавливается на контроллер домена исходного леса и позволяет зашифровано извлечь хэши паролей пользователей. Сам процесс миграции с использованием PES требует выполнения множества предварительных условий, игнорирование которых приведет к сбою:
Эти требования показывают, насколько тесно связан процесс миграции с внутренним устройством Active Directory и политиками безопасности. Несмотря на то, что ADMT v3.2 официально прекращен в разработке и несовместим с современными версиями Windows Server, он все еще широко упоминается в документации. Для современных сред рекомендуется использовать более новые версии инструментов, если они доступны, или тщательно тестировать процесс в лабораторной среде.
Особое внимание при меж-лесовой миграции следует уделить парольной миграции через PES. PES использует алгоритм шифрования RC4_HMAC_MD5 для зашифровки и передачи паролей. В современных средах, где применяются строгие политики безопасности, этот устаревший алгоритм часто отключается. Если на клиентах или серверах, к которым пользователь пытается подключиться после миграции, отключен RC4, то аутентификация с использованием мигрированного пароля через PES не будет работать. Единственным решением этой проблемы является принудительная смена пароля пользователем после завершения миграции. Это означает, что необходимо заранее информировать пользователей о необходимости войти в систему один раз после миграции и сменить пароль, чтобы активировать более современные алгоритмы шифрования. Этот факт является серьезным недостатком и риском для пользовательского опыта, который необходимо учитывать при планировании.
| Характеристика | Внутри-Лесовая Миграция | Меж-Лесовая Миграция |
| Доверительные Отношения | Автоматически существуют (двусторонние, транзитивные). | Требуется явное создание двухстороннего доверия широкого покрытия. |
| Перенос Прав Доступа | Используется Security Translation Wizard для обновления ACLs. | Используется SID History для сохранения доступа к ресурсам в исходном лесе. |
| Комплексность | Относительно простая. | Высоко сложная, требует тщательной настройки доверия и SID History. |
| Инструменты | Move-ADObject (PowerShell), ADMT, USMT. | ADMT + Password Export Server (PES), скрипты для управления доверием. |
| Ключевые Риски | Раздувание токенов Kerberos, проблемы с приложениями, зависящими от SID. | Отключение SID Filtering, проблемы с совместимостью RC4, проблемы с приложениями, не поддерживающими SID History. |
| Пример Сценария | Реструктуризация компании, объединение отделов. | Слияние компаний, поглощение, переход в облако. |
В итоге, меж-лесовая миграция — это проект высокого риска, требующий глубокого понимания Active Directory, тесного сотрудничества между командами безопасности и тщательного планирования. Успех зависит от точного выполнения множества предварительных условий, особенно связанных с настройкой доверия и SID History, а также от готовности к последствиям, таким как необходимость смены пароля для всех мигрированных пользователей.
Миграция Active Directory, особенно меж-лесовая, сопряжена с множеством скрытых рисков и потенциальных проблем, которые могут привести к серьезным сбоям в работе системы, потере доступа к данным и созданию долгосрочных уязвимостей безопасности. Игнорирование этих рисков или недостаточная подготовка к их устранению часто оборачиваются дорогостоящими задержками и хаосом в производственной среде. Часто говорят, что «враги любят принимать участие в хаотичных ситуациях», и именно в моменты миграции, когда администраторы заняты другими задачами, злоумышленники могут найти легкие доказательства для атак. Поэтому понимание этих рисков и наличие четкого плана действий на случай их возникновения является не менее важным, чем сам процесс миграции.
Одним из самых серьезных и многогранных рисков является использование SID History. С одной стороны, это жизненно необходимый инструмент для обеспечения бесшовного перехода пользователей к ресурсам в исходном домене. Без него миграция стала бы практически невозможной из-за необходимости ручного обновления тысяч ACLов. С другой стороны, SID History является мощным вектором атак и источником проблем производительности. Из-за своей природы SID History может быть использован для привилегированного повышения. Атакующий, скомпрометировавший учетную запись пользователя, может добавить в свой sIDHistory SID администратора из другого домена. В результате, когда этот пользователь аутентифицируется, его токен безопасности будет содержать и его собственный SID, и SID администратора, что позволит ему получить доступ к ресурсам, на которые администратор имеет право, даже без добавления его учетной записи в группу администраторов. Для противодействия этому необходимо включить аудит изменений свойства sIDHistory и периодически проверять, не были ли в него добавлены подозрительные SIDs.
Помимо рисков безопасности, SID History оказывает прямое влияние на производительность системы через явление, известное как «раздувание токенов» (Token Bloat). Размер Kerberos-билета безопасности напрямую зависит от количества групп, к которым принадлежит пользователь, и количества SIDs в его sIDHistory. Каждый SID занимает место в токене. Если у пользователя находится в сотнях групп или в его sIDHistory содержится большое количество SIDs, размер токена может превысить максимальный допустимый размер. В Windows Server 2008 R2 и более ранних версиях этот лимит составляет 12 КБ, а в более новых версиях — 48 КБ. Превышение этого лимита приводит к серии сбоев: пользователь не сможет войти в систему, приложения будут получать ошибки доступа, а политики групп не будут применяться. Для диагностики этой проблемы можно использовать PowerShell-скрипты, которые рассчитывают ожидаемый размер токена для конкретного пользователя, а также мониторить системные журналы на предмет ошибок Event ID 6 («The requested logon session could not be created: the user’s token is invalid or too large»). Для решения проблемы необходимо увеличить лимит MaxTokenSize в реестре или через GPO, но это не всегда возможно из-за ограничений на стороне клиентских приложений, таких как IIS.
Еще одна серьезная проблема, возникающая в ходе миграции, связана с протоколом аутентификации Kerberos и его несовместимостью со старыми инструментами миграции. Как уже упоминалось, Password Export Server (PES), используемый для миграции паролей, полагается на алгоритм шифрования RC4_HMAC_MD5. В современных средах, где политики безопасности требуют отключения устаревших и небезопасных алгоритмов, RC4 часто отключается. В результате, пользователи, чьи пароли были мигрированы с помощью PES, не смогут войти в систему, поскольку клиентская машина не сможет получить Kerberos-билет с использованием отключенного алгоритма. Единственным выходом из этой ситуации является принудительная смена пароля пользователем после миграции, что заставляет систему использовать более современные и безопасные алгоритмы AES. Это создает значительные трудности для пользователей и требует их предварительного информирования.
Другой типичной ошибки является игнорирование специфических требований различных приложений. Не все приложения способны работать с SID History. Как уже упоминалось, Microsoft SharePoint является классическим примером такого приложения. Оно не может распознать SID History и считает пользователя неавторизованным, даже если его учетная запись была успешно смигрирована. Для решения этой проблемы необходимо использовать специальный PowerShell-скрипт Move-SPUser, который программирует SharePoint для обновления авторизаций на сайтах и библиотеках после миграции. Еще одна сложная область — это миграция почтовых ящиков Exchange. При меж-лесовой миграции необходимо выполнить три последовательных шага: сначала запустить скрипт Prepare-MoveRequest.ps1 в целевом лесу для подготовки почтового ящика, затем использовать ADMT для миграции учетной записи пользователя, и только потом запустить команду New-MoveRequest для фактического перемещения почтового ящика. Если нарушить этот порядок, например, попытаться мигрировать учетную запись пользователя с помощью ADMT до подготовки почтового ящика, то возникнет конфликт, и миграция почты не удастся.
Наконец, распространенной ошибкой является недооценка сложности самого процесса и отсутствие должной подготовки. Одна из статей описывает случай, когда SYSVOL и NETLOGON шары не появились на новых контроллерах домена после миграции из-за того, что старые DC были отключены от репликации слишком долго (более 650 дней), что превысило порог MaxOfflineTimeInDays в 60 дней. Это наглядно демонстрирует, насколько важно проводить полную проверку здоровья AD в тестовой среде, имитирующей состояние производственной среды. Также часто забывают, что ADMT не мигрирует локальные профили пользователей, что приводит к разочарованию пользователей, которые обнаруживают, что их настройки и данные исчезли. Наконец, несмотря на то, что миграция может быть завершена, многие организации не занимаются удалением SID History после того, как все ресурсы были перечислены. Это оставляет в системе ненужные и потенциально опасные SIDs, которые увеличивают размер токенов и усложняют аудит безопасности. Удаление SID History является важным последним шагом для завершения миграции и снижения поверхности атаки.
| Типичная Проблема | Причины | Диагностика | Решение |
| Раздувание Токенов Kerberos | Большое количество групп в sIDHistory или глубокая вложенность групп. | CheckMaxTokenSize.ps1 скрипт, Event ID 6 («Token too large»), HTTP 400 ошибки. | Увеличить MaxTokenSize в реестре/GPO, оптимизировать группы, удалить SID History после миграции. |
| Сбой Аутентификации с PES | Отключен алгоритм шифрования RC4 на клиентской машине или сервере. | Пользователь не может войти в систему после миграции. | Принудительная смена пароля пользователем для использования AES. |
| Проблемы с SharePoint | Приложение не поддерживает доступ через SID History. | Пользователи получают отказ в доступе к сайтам SharePoint. | Использовать PowerShell-скрипт Move-SPUser для обновления авторизаций в SharePoint. |
| Проблемы с Mailbox Move | Нарушение последовательности действий при миграции Exchange. | Ошибка создания почтового ящика или сбой перемещения. | Выполнить последовательность: Prepare-MoveRequest.ps1 -> ADMT -> New-MoveRequest. |
| Отсутствие SYSVOL/NETLOGON | Старые DC были отключены от DFSR репликации слишком долго (>60 дней). | Шары не отображаются в \\<DC>\SYSVOL и \\<DC>\NETLOGON. | Проверить MaxOfflineTimeInDays, форсировать DFSR синхронизацию, возможна необходимость полной репликации. |
| Отсутствие Локальных Профилей | ADMT по дизайну не мигрирует локальные профили пользователей. | Пользователи не видят своих настроек, избранных сайтов и данных после миграции. | Использовать User State Migration Tool (USMT) для миграции профилей. |
Успешная миграция требует не только знания процедур, но и глубокого понимания потенциальных проблем и готовности к их диагностике и решению. Использование таких инструментов, как klist для просмотра кэшированных Kerberos-билетов, repadmin для проверки репликации и setspn для проверки регистраций SPN, становится неотъемлемой частью работы администратора в ходе миграции. Только комплексный подход, сочетающий тщательное планирование с готовностью быстро реагировать на возникающие проблемы, может привести к успеху.
Хотя Active Directory Migration Tool (ADMT) и Password Export Server (PES) долгое время считались де-факто стандартом для миграции AD, особенно в меж-лесовых сценариях, их современное состояние и ограничения заставляют рассматривать альтернативные подходы и инструменты. Использование устаревшего программного обеспечения, такого как ADMT v3.2, несет в себе значительные риски, включая отсутствие поддержки, исправлений безопасности и совместимости с современными версиями Windows Server. Поэтому для профессиональной и безопасной миграции необходимо оценивать весь спектр доступных инструментов, от нативных средств PowerShell до коммерческих продуктов и облачных сервисов.
ADMT v3.2, выпущенная в 2009 году, является 32-битным приложением, что создает проблемы с запуском на современных 64-битных системах. Хотя она официально поддерживает Windows Server 2008 и более поздние версии, она несовместима с Windows Server 2016, 2019 и 2022. Кроме того, она имеет множество известных проблем, таких как несовместимость с Credential Guard, требование непринужденного делегирования на DCs, которое теперь является угрозой безопасности, и проблемы с миграцией паролей для современных приложений, использующих хеширование на основе SID. Microsoft официально прекратила разработку ADMT, и он не получает никаких обновлений или исправлений, что делает его использование в производственной среде крайне нежелательным. Некоторые облачные платформы, такие как AWS, могут предлагать свои собственные версии инструментов для миграции в их Managed Microsoft AD, но это не гарантирует их соответствия последним стандартам безопасности и поддержки.
В качестве альтернативы нативному ADMT можно использовать средства PowerShell, которые предоставляют огромную гибкость для автоматизации миграции. Для перемещения объектов между OU в пределах одного леса команды Move-ADObject и Get-ADUser/New-ADUser позволяют создавать сложные скрипты для миграции пользователей, групп и компьютеров. Например, можно экспортировать список пользователей в CSV, модифицировать необходимые поля (UPN, OU path, пароли), а затем импортировать их в новый домен с помощью цикла PowerShell. Это дает полный контроль над процессом, но требует значительных усилий по написанию и отладке скриптов. Ключевым недостатком PowerShell является отсутствие встроенного механизма для миграции паролей и SID History, что требует создания собственных, сложных и потенциально небезопасных реализаций для этих задач. Например, для миграции паролей можно использовать Get-ADUser для извлечения учетных данных и Set-ADAccountPassword для их установки, но это не обеспечивает безопасной передачи хэшей паролей, как это делает PES.
Для более комплексных задач миграции, особенно при наличии множества зависимостей, существуют коммерческие продукты, такие как Quest Directory Services (теперь Dell Migration Manager) или BitTitan MigrationWiz. Эти инструменты часто предоставляют более удобные графические интерфейсы, встроенные средства для миграции паролей и SID History, а также расширенные возможности для переноса прав доступа и совместимости с различными приложениями. Они могут автоматизировать многие из сложных шагов, которые требуются для ADMT, и предоставлять более подробные отчеты о процессе миграции. Однако их использование означает дополнительные затраты и необходимость интеграции стороннего ПО в существующую инфраструктуру.
В последние годы все большую популярность приобретают облачные сервисы и гибридные модели, которые меняют саму парадигму миграции AD. Вместо полного перемещения всех объектов в новый домен, организации все чаще выбирают гибридный подход, где on-premise AD синхронизируется с облачным сервисом, таким как Microsoft Entra ID (ранее Azure AD). Инструментом для этой синхронизации является Microsoft Entra Connect (ранее Azure AD Connect). Этот подход позволяет создать единую точку идентификации для пользователей как в локальной, так и в облачной среде. В контексте миграции это открывает новые возможности. Например, вместо полной миграции AD, можно перейти на гибридную модель, синхронизировать нужные части AD в Entra ID, а затем постепенно переносить приложения и пользователей в облако, сохраняя при этом on-premise AD для некоторых служб. Этот подход, известный как «SOA (Source of Authority) transfer», позволяет проводить миграцию поэтапно, минимизируя риски и сбои для пользователей. Для этого используются такие технологии, как Entra Application Proxy с Kerberos Constrained Delegation (KCD) для доступа к локальным приложениям из облака или Entra Domain Services для доступа к ресурсам через LDAP.
Особое место в современном ландшафте занимают инструменты, ориентированные на конкретные задачи. Например, для миграции групп между лесами, где требуется сохранение незыблемости идентификатора, можно использовать PowerShell-скрипты, предоставленные Microsoft, которые используют атрибут mS-DS-ConsistencyGuid в качестве источника для immutableId в Entra ID, обеспечивая непрерывность идентификации. Для миграции файлов и профилей пользователей существуют специализированные инструменты, такие как USMT, которые обеспечивают гораздо более качественную миграцию данных, чем стандартные методы. Для автоматизации процесса миграции и управления зависимостями можно использовать платформы, такие как Quest AD Pro Toolkit, которые предлагают workflow-based подход через CSV-файлы для экспорта и импорта OUs, групп и пользователей, включая групповые членства и 31 пользовательский атрибут.
| Инструмент/Подход | Преимущества | Недостатки | Рекомендуемое Использование |
| ADMT v3.2 + PES | Официальная поддержка Microsoft, хорошо документирован. | Устарел, не поддерживается, некомпатибельность с современными ОС, проблемы с безопасностью. | Только для миграции в очень старых, неизменяемых средах. |
| PowerShell | Гибкость, бесплатность, полный контроль над процессом. | Требует написания и отладки скриптов, нет встроенной поддержки паролей/SID History. | Для простых миграций объектов внутри одного леса, для автоматизации повторяющихся задач. |
| Коммерческие Инструменты (Quest/Dell) | Графический интерфейс, встроенная поддержка паролей/SID History, расширенные возможности. | Стоимость лицензий, необходимость интеграции стороннего ПО. | Для сложных миграций с большим количеством зависимостей и приложений. |
| Гибридная Модель (Entra ID) | Позволяет поэтапный переход, унифицирует идентификацию, снижает риски. | Требует изменения архитектуры, обучения команды, может быть дорогостоящей. | Для организаций, планирующих переход в облако, или для создания гибридной среды. |
| Специализированные Инструменты (USMT, AD Pro Toolkit) | Высокая эффективность для конкретных задач (профили, структура AD). | Ограниченная сфера применения. | USMT для миграции профилей, AD Pro Toolkit для структурных изменений. |
В конечном счете, выбор инструмента зависит от конкретного сценария, масштаба миграции, имеющихся ресурсов и готовности к риску. Однако общим трендом является движение от полной миграции AD к гибридным моделям и поэтапным переходам, где миграция рассматривается не как единовременное событие, а как непрерывный процесс управления идентификацией. Это снижает риски и позволяет организациям более гибко адаптироваться к меняющимся требованиям бизнеса и технологической среды.
Завершение миграции Active Directory — это не просто последний шаг, а критически важный этап, который определяет долгосрочную стабильность, безопасность и управляемость инфраструктуры. Завершение процесса включает в себя три ключевых направления: полное удаление следов старой среды, в частности SID History; декомиссию устаревших контроллеров домена; и интеграцию с современными облачными сервисами, такими как Microsoft Entra ID. Недооценка этих задач может привести к появлению долгосрочных проблем, включая неэффективность производительности, повышенные риски безопасности и усложнение дальнейшего управления.
Первым и наиболее важным шагом после завершения основной миграции и полной проверки работоспособности всех приложений и ресурсов является удаление SID History из учетных записей пользователей и групп. Как уже обсуждалось, SID History, являясь необходимым злом во время перехода, в долгосрочной перспективе является ненужным и потенциально опасным. Оставляя в системе старые SIDs, вы постоянно увеличиваете размер Kerberos-токенов для пользователей, что может привести к проблемам с производительностью и сбоям аутентификации. Кроме того, это создает дополнительную поверхность для атак, так как злоумышленники могут попытаться использовать старые, неактуальные права, привязанные к этим SIDs. Процесс удаления SID History должен быть проведен только после того, как все ACLs на всех ресурсах были полностью обновлены с помощью Security Translation Wizard. Это гарантирует, что у пользователей не будет внезапно отказано в доступе к ресурсам, к которым они имели право до миграции. Удаление можно выполнить с помощью командной строки (dsmod user или Set-ADUser в PowerShell) или с помощью скриптов, которые итерируют по всем пользователям и очищают их свойство sIDHistory.
Вторым важным аспектом является декомиссия устаревших контроллеров домена. После того как все объекты были перемещены, все зависимости от старого домена удовлетворены, и система работает стабильно в течение нескольких дней, можно приступать к полному удалению старой инфраструктуры. Этот процесс включает в себя несколько шагов. Во-первых, необходимо демонтировать старые DC. Этот процесс, который в Windows Server 2012 и более новых версиях выполняется командой Uninstall-ADDSDomainController, должен быть выполнен последовательно, начиная с второстепенных DC и заканчивая FSMO-ролями. После демонтажа каждого DC необходимо выполнить метаданные очистку с помощью утилиты ntdsutil, чтобы удалить записи о старом DC из базы данных AD. Это предотвратит проблемы при повторном развертывании серверов с теми же именами. После демонтажа всех старых DC необходимо провести полную проверку репликации и убедиться, что все данные синхронизированы с новыми контроллерами. Только после этого можно физически отключить или удалить виртуальные машины, на которых работали старые DC. Важно подчеркнуть, что декомиссия — это не единовременное действие, а процесс, который следует проводить только после периода стабильной работы новой среды, чтобы гарантировать, что ни одна зависимость не была упущена.
Третий, и все более актуальный, аспект завершения миграции — это интеграция с облачными сервисами. Многие миграции AD являются частью более крупного перехода в гибридную или облачную среду. В этом контексте ключевую роль играет Microsoft Entra Connect, который синхронизирует объекты из on-premise AD в Entra ID. После миграции AD необходимо провести тщательную проверку и, возможно, корректировку конфигурации Entra Connect. Это включает в себя:
В заключение, успешная миграция Active Directory — это не просто перемещение объектов, а комплексный проект, который требует тщательного планирования, подготовки и внимания к деталям на всех этапах. От первоначальной оценки состояния AD до последнего шага по удалению SID History и декомиссии старых серверов — каждый этап имеет решающее значение. Современные тенденции, такие как переход к гибридным и облачным моделям, дополнительно усложняют этот процесс, требуя от администраторов не только глубоких знаний в области Active Directory, но и понимания экосистемы облачных сервисов. Игнорирование послепроцесса может свести на нет все преимущества от миграции, оставив в инфраструктуре ненужные зависимости, уязвимости и проблемы с производительностью. Только комплексный подход, охватывающий весь жизненный цикл миграции, позволяет достичь поставленной цели и создать современную, безопасную и эффективную среду идентификации и доступа.