Корзина в Active Directory на Server 2012 R2
Что мы имеем, а это произведенная модернизация с серверной оси Windows на самый последний релиз, а именно Windows Server 2012 R2, также опираясь на действия заметки модернизирован функциональный уровень домена. Потихоньку читая документацию по новой системе обозначил для себя новые темы которые хотел бы видеть в виде пошаговых практичных заметок, так вот одна из них это «Использование Корзины» в новом домене, вроде как вместо консоли командной строки используется графический пользовательский интерфейс. Теперь процесс удаления объектов Active Directory восстанавливается не так утомительно по сравнению с Windows Server 2008 R2. Вот в этом я сейчас и разберусь на практике.
На заметку: По документации функция «Корзина» для Active Directory также выключена, включив ее однажды отключить будет невозможно. Хотя кто в здравом уме будет такое делать, это же палочка выручалочка в случае чего.
Итак, проверяю текущий уровень леса:
Win + X — Command Prompt (Admin) —
C:\Windows\system32>cd /d %systemroot%\system32\WindowsPowerShell\v1.0\
C:\Windows\System32\WindowsPowerShell\v1.0>powershell.exe
Copyright (C) 2013 Microsoft Corporation. All rights reserved.
PS C:\Windows\System32\WindowsPowerShell\v1.0>
PS C:\Windows\System32\WindowsPowerShell\v1.0> import-module servermanager
PS C:\Windows\System32\WindowsPowerShell\v1.0> import-module activedirectory
PS C:\Windows\System32\WindowsPowerShell\v1.0> get-adforest
- ApplicationPartitions :
- DC=DomainDnsZones,DC=polygon,DC=local>
- CrossForestReferences : <>
- DomainNamingMaster : srv-ad.polygon.local
- Domains :
- ForestMode : Windows2012R2Forest
- GlobalCatalogs :
- Name : polygon.local
- PartitionsContainer : CN=Partitions,CN=Configuration,DC=polygon,DC=local
- RootDomain : polygon.local
- SchemaMaster : srv-ad.polygon.local
- Sites :
- SPNSuffixes : <>
- UPNSuffixes : <>
из вывода видно, то мой уровень леса самый последний ( Windows2012R2Forest ) и ничего повышать не нужно.
А потому можно включить корзину Active Directory все так же как и в прошлый раз через PowerShell:
PS C:\Windows\System32\WindowsPowerShell\v1.0> Enable-ADOptionalFeature -Identity ‘CN=Recycle Bin Feature,CN=Optional Features,CN=Directory Service,CN=Windows NT,CN=Services,CN=Configuration,DC=polygon,DC=local’ -Scope ForestOrConfigurationSet -Target ‘polygon.local’
WARNING: Enabling ‘Recycle Bin Feature’ on
‘CN=Partitions,CN=Configuration,DC=polygon,DC=local’ is an irreversible action!
You will not be able to disable ‘Recycle Bin Feature’ on
‘CN=Partitions,CN=Configuration,DC=polygon,DC=local’ if you proceed.
Are you sure you want to perform this action?
Performing the operation «Enable» on target «Recycle Bin Feature».
[Y] Yes [A] Yes to All [N] No [L] No to All [S] Suspend [?] Help(default is «Y»): для включения согласно приведенной справки нажимаем клавишу «А».
или же через оснастку именуемую, как Active Directory Administrative Center:
Win + X — Control Panel — Administrative Tools — Active Directory Administrative Center, после слева выбираем текущий домен (Polygon.local) и в правой части панели нажимаем кнопку «Enable Recycle Bin».
После если обратить внимание на оснастку то кнопку Enable Recycle Bin будет затемнена, это значит «Корзина» активирована и в оснастке Active Directory Administrative Center текущего домена (polygon.local) появился новый организационный контейнер (OU=Deleted Objects) в который и будут помещаться удаленные объекты из Active Directory. По аналогии и с Server 2008 R2 они также хранятся 180 дней.
Итак а какие же действия нужно проделать если возникнет ситуация, когда что-то важное будет удалено или по неосторожности, у меня тут кстати несколькими днями ранее была ситуация, не нечаянно удалил OU=IT (галочка защиты от удаления стояла) и себя кстати, проверяя возможность восстановления из корзины — а корзина то не включена. Переведя дух от последующих последствий, я опомнился, что все еще подключен по RDP к домен контроллеру: создаю точно такой же OU и точно такие же учетные записи, пароли дефолтные, группы доступа раздал. Я знаю что это не одно и тоже, а потому мне пришлось в быстром порядке, всем коллегам моего отдела перебить профиля на рабочих станциях посредством утилиты: — User Profile Wizard и разослав SMS по всем что произошло. По итогу, ущерба нет и только после этого я корзину активировал, хотя до сего момента думал что такого уж точно со мной не случится.
Ладно теперь практика:
У меня есть OU = Otdel Sales с тремя учетными записями внутри, удаляю сотрудников и сам организационный контейнер.
PS C:\Windows\System32\WindowsPowerShell\v1.0> dsquery user «OU=Otdel Sales,DC=polygon,DC=local»
«CN=Екатерина Авфорова,OU=Otdel Sales,DC=polygon,DC=local»
«CN=Павел Севостьянов,OU=Otdel Sales,DC=polygon,DC=local»
«CN=Ольга Бузина,OU=Otdel Sales,DC=polygon,DC=local»
PS C:\Windows\System32\WindowsPowerShell\v1.0> dsrm «CN=Екатерина Авфорова,OU=Otdel Sales,DC=polygon,DC=local» -noprompt
dsrm succeeded:CN=Екатерина Авфорова,OU=Otdel Sales,DC=polygon,DC=local
PS C:\Windows\System32\WindowsPowerShell\v1.0> dsrm «CN=Павел Севостьянов,OU=Otdel Sales,DC=polygon,DC=local» -noprompt
PS C:\Windows\System32\WindowsPowerShell\v1.0> dsrm «CN=Ольга Бузина,OU=Otdel Sales,DC=polygon,DC=local» -noprompt
PS C:\Windows\System32\WindowsPowerShell\v1.0> dsrm «OU=Otdel Sales,DC=polygon,DC=local» -subtree
Are you sure you wish to delete OU=Otdel Sales,DC=polygon,DC=local (Y/N)? y
dsrm failed:OU=Otdel Sales,DC=polygon,DC=local:Access is denied.
type dsrm /? for help.
PS C:\Windows\System32\WindowsPowerShell\v1.0>
(но вот что, если не удалять учетные записи внутри OU, то команда выше успешно удалит их и контейнер:
PS C:\Windows\System32\WindowsPowerShell\v1.0> dsrm «OU=Otdel Sales,DC=polygon,DC=local» -subtree
Are you sure you wish to delete OU=Otdel Sales,DC=polygon,DC=local (Y/N)? Y
dsrm succeeded:OU=Otdel Sales,DC=polygon,DC=local
, а оснастка Active Directory Users and Computers будет показывать что такой контейнер есть, то вот его значок будет помечен желтым треугольником внутри которого восклицательный знак, см. скриншот ниже:
, а оснастка Active Directory Administrative Center будет показывать что имеется удаленный OU и CN внутри. Вот так вот.
странно, а почему ошибка я же все делаю правильно, внимательно посмотрев пришел к выводу, что если:
Win + X — Control Panel — Administrative Tools — Active Directory Users and Computers — View — Advanced Features, после открыв свойства (Properties) OU=Otdel Sales и перейдя на вкладку: Object заметил, что стоит галочка препятствующая простому удалению данного объекта — Protect object from accidental deletion, но вот снимать через оснастку я не буду я хочу разобраться как это сделать через консоль командной строки:
PS C:\Windows\System32\WindowsPowerShell\v1.0> Get-ADOrganizationalUnit -Identity ‘OU=Otdel Sales,DC=polygon,DC=local’ | Set-ADObject -ProtectedFromAccidentalDeletion:$false -PassThru | Remove-ADOrganizationalUnit -Confirm:$false
Вот то что мне и требовалось.
Теперь же чтобы восстановить удаленные объекты из Active Directory шаги следующие:
Win +X — Control Panel — Administrative Tools — Active Directory Administrative Center, как видно
выбрав текущий домен в левой части polygon.local и контейнер Deleted Objects в котором и находят все удаленные объекты, в моем случае (в рамках этой заметки), это учетные записи и организационный контейнер.
Выделяем все объекты и в правой части нажимаем на кнопку Restore (Восстановить объект) , а если нужно восстановить в другое место отличное от ранее имевшее быть, то воспользуемся уже кнопкой Restore To…
мне же в этой заметке будет достаточно кнопки Restore, процедура восстановления проходит мгновенно и уже переключившись в оснастку Active Directory Users and Computer я лицезрею восстановленные учетные записи и OU.
На заметку: нельзя просто так восстановить один объект если он был внутри удаленного другого, т. е. Если CN был удален внутри OU , то сперва нужно восстановить OU , а уже потом CN.
Что могу сказать, действительно удобно пользоваться GUI оснасткой, все просто, ведь раньше нужно было использовать для этого дела консоль командной строки, а сейчас такое действо не занимает время и это очень радует, видимо действительно много нового и интересного появилось в Server 2012 R2. Все что меня интересует я постараюсь освятить в виде своих пошаговых заметок на блоге, а пока я прощаюсь и до новых встреч, с уважением автор блога — ekzorchik.
Корзина Active Directory в Windows Server 2012
Давно ставшая привычной корзина Windows позволяет восстановить случайно удаленный файл. Однако при использовании Windows Server 2008 и более ранних версий при случайном удалении учетной записи пользователя или компьютера в Active Directory (AD) можно лишь восстановить AD, вновь создать учетную запись или применить сторонний инструмент
Первый вариант корзины Active Directory появился в Windows Server 2008 R2. Была реализована возможность восстанавливать случайно удаленную учетную запись пользователя, компьютера или подразделения (OU). Однако работать с корзиной Active Directory можно только с помощью средств PowerShell, что может оказаться сложным, особенно для тех, кто незнаком с этой командной оболочкой. Кроме того, для поиска удаленных объектов существуют определенные ограничения.
Команды PowerShell могут быть довольно длинными. Для примера ниже приведена команда активации корзины Active Directory:
Следующая команда позволяет выполнить поиск по всем удаленным объектам в корзине Active Directory:
Команда восстановления учетной записи пользователя JohnMarlin выглядит следующим образом:
Можно заметить, что команды довольно сложны. Поймите меня правильно: я вовсе не даю негативную оценку корзине Active Directory в Server 2008 R2, но лишь обращаю ваше внимание на то, что работа с ней может оказаться непростой задачей.
Руководствуясь отзывами пользователей, разработчики Microsoft сделали корзину Active Directory частью центра администрирования Active Directory в Windows Server 2012. Теперь использовать ее стало намного проще.
Установка корзины Active Directory
Как и ранее, в Server 2012 корзина Active Directory не включена по умолчанию и требует функционального уровня леса Server 2008 R2 или более новой версии. Для активации корзины откройте центр администрирования Active Directory, щелкните на имени домена и в меню Tasks выберите Enable Recycle Bin. Этот же элемент можно выбрать в контекстном меню, открываемом правым щелчком на имени домена. Оба варианта показаны на экране 1.
Экран 1. Активация корзины |
После выбора элемента Enable Recycle Bin открывается окно подтверждения активации корзины (см. экран 2).
Экран 2. Запрос подтверждения активации корзины |
Данное окно содержит предупреждение о том, что однажды активированную корзину впоследствии уже нельзя будет выключить.
Активируя корзину, следует помнить о том, что размер базы данных AD (Ntds.dit) увеличится. Дисковое пространство, используемое корзиной, будет продолжать расти по мере пополнения новыми удаленными объектами и их атрибутами. Поэтому необходимо заранее обеспечить достаточный объем системы хранения, особенно если вам приходится постоянно удалять объекты AD. Следует заметить, что доступ к корзине открыт только членам группы администраторов предприятия.
После нажатия кнопки OK в окне подтверждения активации корзины выдается сообщение с напоминанием о том, что корзина станет полнофункциональной только тогда, когда это изменение будет реплицировано на все остальные контроллеры домена (DC). В полнофункциональной корзине удаленный объект хранится в соответствии со значением атрибута msDS-deletedObjectLifetime. Этот атрибут, впервые появившийся в Server 2008 R2 и определяющий срок поддержания возможности восстановления удаленного объекта, задается в контейнере CN=Directory Service,CN=Windows NT,CN=Services,CN=Configuration,DC=COMPANY,DC=COM.
По умолчанию атрибут msDS-deletedObjectLifetime устанавливается в соответствии с атрибутом tombstoneLifetime, впервые появившимся в Windows 2000. Его значение по умолчанию ранее составляло 60 дней, но в Windows Server 2003 SP1 было увеличено до 120 дней, каковым и остается до сих пор. Атрибут tombstoneLifetime задается в контейнере CN=Directory Service,CN=Windows NT,CN=Services,CN=Configuration,DC=COMPANY,DC=COM.
Число элементов, отображаемых в корзине, ограничено. По умолчанию установлен предел в 20 000. Эту установку можно изменить (до 100 000) с помощью элемента Management List Options в меню Manage (см. экран 3).
Экран 3. Изменение числа элементов, отображаемых в?корзине |
Применение корзины Active Directory
Чтобы открыть корзину Active Directory, в центре администрирования Active Directory выберите элемент Deleted Objects под именем домена. По умолчанию на экране отображается пять столбцов: Name, When Deleted, Last known parent, Type и Description. При желании добавьте столбцы, для чего выберите нужные категории из списка, который открывается щелчком правой кнопки на колонке (см. экран 4).
Экран 4. Добавление колонок |
Число объектов в корзине постоянно растет, и зачастую их прокрутка занимает длительное время, поэтому предусмотрена возможность применения фильтров, что позволяет сузить диапазон поиска. К примеру, предположим, что по ошибке была удалена учетная запись, в имени которой присутствует фрагмент John. Точно неизвестно, какую именно учетную запись требуется восстановить, поскольку она была удалена непреднамеренно, однако имеется следующая информация о пользователе:
- работает в офисе в Далласе, шт. Техас;
- является сотрудником отдела бухгалтерского учета;
- не регистрировался в системе на протяжении последних 10 дней;
- во время последней регистрации срок действия его пароля должен был истечь через 2 дня.
Если в поле фильтра указать John, то в ответ будет выдан список всех учетных записей, имена которых содержат этот фрагмент. Но что если таких учетных записей не одна сотня? Чтобы сузить диапазон поиска, можно задать критерии с помощью кнопки Add criteria. Как показано на экране 5, существует широкий выбор критериев.
Экран 5. Критерии для?сужения диапазона поиска |
На основании имеющейся информации о пользователе выбираем соответствующие критерии и вводим данные, как показано на экране 6. Как мы видим, учетная запись, которую требуется восстановить – John23.
Экран 6. Ввод данных для поиска учетной записи пользователя John в соответствии с выбранными критериями |
Для восстановления объекта John23 в меню, открываемом щелчком правой кнопки, выбираем Restore (восстановление в исходном OU) или Restore To (восстановление в другом OU). Эти два элемента также имеются в меню Tasks.
Можно восстанавливать не только один, но и сразу несколько объектов, а также OU. К примеру, предположим, что в компании работает группа временных сотрудников, у которых срок действия контракта истекает в пятницу вечером. Как старший администратор, вы отвечаете за удаление OU (группы временных сотрудников) и всех учетных данных временных пользователей по истечении срока действия контракта. На следующей неделе вы уходите в отпуск, поэтому заблаговременно в четверг составляете сценарий удаления объектов, который должен запуститься в пятницу вечером.
В пятницу вечером руководство принимает решение оставить временную группу еще на неделю. Вам отсылается по электронной почте сообщение с указанием повременить с удалением объектов, но вы его не получаете. Вечером в пятницу сценарий запускается и удаляет учетные данные для этого временного подразделения и все относящиеся к нему учетные записи.
Утром в понедельник временные сотрудники не могут зарегистрироваться в системе. Другой администратор открывает корзину, чтобы восстановить удаленные учетные записи. Однако ему неизвестно об удалении OU; кроме того, он не знает имен пользователей.
Открыв корзину, администратор добавляет критерии поиска (см. экран 7) и получает список удаленных учетных записей.
Экран 7. Ввод данных для поиска учетных записей временных сотрудников |
Однако при попытке восстановления первой учетной записи появляется сообщение об ошибке (см. экран 8). В нем говорится, что временное подразделение (OU) было удалено. Учетная запись не может быть восстановлена в несуществующее OU, а новое OU не создается. Администратору приходится выполнить новый поиск, чтобы найти удаленное OU и восстановить его. Затем вновь выполняется предыдущий поиск для вывода списка удаленных объектов. Все подлежащие восстановлению учетные записи выбираются и восстанавливаются с помощью простой операции (см. экран 9). Теперь временные сотрудники вновь могут зарегистрироваться в системе.
Экран 8. Сообщение об ошибке |
Экран 9. Восстановление всех пользователей одной операцией |
Вы, вероятно, знаете, что у AD есть несколько разделов. Корзина может управлять только разделами домена. Объекты, удаленные из разделов Configuration, Domain DNS или Forest DNS, не могут быть восстановлены с помощью этого инструмента.
Палочка-выручалочка
Корзина Active Directory может выручать в тех случаях, когда проблему не решает простое повторное создание учетной записи, либо если требуется восстановить всю AD или ее большие фрагменты. В случае необходимости пользуйтесь этим простым и удобным инструментом.
Поделитесь материалом с коллегами и друзьями