Восстановление удаленных объектов в Active Directory

При удалении любого объекта в Active Directory (пользователя, группы, компьютера или OU), вы можете восстановить его. В этой статье мы рассмотрим, как восстановить удаленный объект в AD с помощью PowerShell и графических инструментов.

Сначала разберемся, что происходит при удалении объекта из каталога AD. Поведение AD при удалении объектов зависит от того включена ли Active Directory Recycle Bin или нет (по умолчанию отключена). В обоих случаях объект не удаляется физически, а помечается как удаленный (атрибут isDeleted = true) и перемещается в специальный контейнер Deleted Objects (не отображается в обычных mmc оснастках управления AD). Однако при включенной корзине AD все атрибуты и членство в группах сохраняется.

По умолчанию в течении 180 дней (определяется в атрибуте домена msDS-deletedObjectLifetime ) вы можете восстановить удаленный объект. Если данный срок прошел, объект все еще остается в контейнере Deleted Objects, но большинство его атрибутов и связей очищаются (Recycled Object ). После истечения периода tombstoneLifetime (по умолчанию также 180 дней, но можно увеличить) объект полностью удаляется из AD автоматическим процессом очистки и не может быть восстановлен (можно восстановить только их резервной копии контроллера домен AD ).

Корзина AD (Active Directory Recycle Bin)

AD Recycle Bin доступна в Active Directory начиная с функционального уровня домена Windows Server 2008 R2 . В предыдущих версиях Windows Server процесс восстановления объектов AD также возможен, но требует довольно сложных манипуляция с помощью утилит ntdsutil (вплоть до авторитативного восстановления из бэкапа AD в режиме Directory Service Restore Mode) или ldp.exe . Кроме того, благодаря корзине вы не потеряете атрибуты объекта и членство в группах.

Проверьте функциональный уровень леса (в моем примере Windows2016Forest):

Get-ADForest |Select-Object forestmode

Эта и последующие команды требует наличие установленного модуля Active для Directory PowerShell .

Проверьте, что корзина AD включена для вашего домена (по умолчанию она отключена):

Get-ADOptionalFeature “Recycle Bin Feature” | select-object name,EnabledScopes

Если значение EnabledScopes не пустое, значит в вашем домене корзина Active Directory уже включена.

Если нужно включить Active Directory Recycle Bin, используется командлет Enable-ADOptionalFeature :

Enable-ADOptionalFeature –Identity ‘CN=Recycle Bin Feature,CN=Optional Features,CN=Directory Service,CN=Windows NT,CN=Services,CN=ConfigurationDC=remontka,DC=ru’ –Scope ForestOrConfigurationSet –Target ‘remontka.com’

Примечание . Корзину AD необходимо включить до того, как вы удалили объект из домена. После включения фичи Active Directory Recycle Bin отключить ее нельзя. Подробнее о корзине AD смотрите в статье .

Восстановление удаленного пользователя Active Directory

Попробуем удалить пользователя AD, а затем восстановить его из корзины AD.

С помощью командлета Get-ADUser выведем значения атрибута пользователя IsDeleted (он пустой).

get-aduser a.novak -Properties *| Select-Object IsDeleted

Теперь удалим учетную запись пользователя:

Remove-ADUser a.novak

Чтобы найти удаленную учетную запись пользователя в корзине AD, воспользуйтесь командлетом Get-ADObject с параметром IncludeDeletedObjects :

Get-ADObject -Filter 'Name -like "*novak*"' –IncludeDeletedObjects

Как вы видите, пользователь нашелся в контейнере Deleted Objects .

Проверим значение атрибута IsDeleted , контейнер, в котором находился пользователе перед удалением ( LastKnownParent ), а также список групп, в которых он состоял:

Get-ADObject -Filter 'Name -like "*novak*"' –IncludeDeletedObjects -Properties *| select-object Name, sAMAccountName, LastKnownParent, memberOf, IsDeleted|fl

Если вы не помните имя пользователя, которого удалили, можно вывести полный список объектов, доступных в корзине Active Directory:

Get-ADObject –filter {Deleted -eq $True -and ObjectClass -eq "user"} –includeDeletedObjects

Чтобы восстановить учетную запись пользователя, скопируйте значение атрибута ObjectGUID и выполните команду:

Restore-ADObject -Identity ‘3dc33c7c-b912-4a19-b1b7-415c1395a34e’

Либо можно восстановить пользователя по его SAMAccountName :

Get-ADObject -Filter 'SAMAccountName -eq "a.novak"' –IncludeDeletedObjects | Restore-ADObject

Откройте консоль ADUC и проверьте, что учетная запись пользователя была восстановлена в том же самом OU, где она находилась до удаления.

Также вы можете восстановить удалённый объект из графической консоли Active Directory Administrative Center .

  1. Запустите консоль dsac.exe ;
  2. Найдите контейнер Deleted Objects , в нем находятся все удаленные объекты AD;
  3. Щелкните по объекту, который нужно восстановить и выберите Restore (для восстановления в исходный OU), либо Restore to (восстановление в произвольный раздел AD);

Аналогичным образом можно восстановить в Active Directory удаленную группу, компьютер или контейнер.

Восстановить удаленную группу:

Get-ADObject -Filter { Deleted -eq $True -and ObjectClass -eq 'group' -and Name -like '*Allow*' } –IncludeDeletedObjects| Restore-ADObject –verbose

Восстановить компьютер:

Get-ADObject -Filter { Deleted -eq $True -and ObjectClass -eq 'computer' -and Name -like '*spb-fs02*' } –IncludeDeletedObjects| Restore-ADObject –verbose

Восстановление удаленной OU и вложенных объектов с PowerShell

Например, у вас на каком-то OU была отключена опция “ Protect object from accidental deletion ” и вы случайно удалили OU вместе со всеми пользователями, компьютерами и группами.

Сначала нужно восстановить корневой OU:

Get-ADObject -Filter { Deleted -eq $True -and ObjectClass -eq 'organizationalunit' -and Name -like '*SPB*' } –IncludeDeletedObjects| Restore-ADObject

Затем все вложенные OU:

Get-ADObject -Filter { Deleted -eq $True -and ObjectClass -eq 'organizationalunit' -and LastKnownParent -eq 'OU=SPB,DC=remontka,DC=ru' } –IncludeDeletedObjects| Restore-ADObject

Теперь можно восстановить все удаленные объекты в этих OU по параметру LastKnownParent (пользователей, компьютеры, группы, контакты):

Get-ADObject -Filter { Deleted -eq $True} –IncludeDeletedObjects -Properties *| Where-Object LastKnownParent -like '*OU=SPB,DC=remontka,DC=ru'| Restore-ADObject

admin

Share
Published by
admin

Recent Posts

Что такое Zulip

Zulip — программное обеспечение для реализации корпоративного чата. Разработан в 2012 году, в 2014 был…

23 часа ago

Что такое Zookeeper

Zookeeper — cервис-координатор, который позволяет обеспечить контроль синхронизации данных. Разработан на Java компанией Apache Software…

23 часа ago

Что такое Zimbra

Zimbra — программное обеспечение для реализации почтового сервиса или, если сказать точнее, автоматизации совместной деятельности…

23 часа ago

Что такое Zabbix

Zabbix — бесплатная система мониторинга. Позволяет отслеживать состояние сетевых узлов, компьютеров и серверов. Возможности: Поддержка…

23 часа ago

Что такое YouTube

YouTube — компания-владелец одноименного портала для просмотра и хранения видео. Чтобы пользоваться данным порталом достаточно…

23 часа ago

Что такое yota

Yota — провайдер, предоставляющий доступ к сети Интернет по беспроводной связи. Впервые, сервис начал работать…

23 часа ago