Неволно изтриване на обект от Active Directory – Какво трябва да знаем, преди да се поддадем на паниката? (част 2)

В първата част на тази статия ви показах първия и най-трудоемък, но пък най-показателен за процеса метод за възстановяване на изтрити обекти – посредством инструмента ldp.exe.

Друг начин за постигане на същия ефект, но доста по-лесно, е чрез използването на безплатния инструмент ADRestore.exe на Sysinternals, понастоящем част от Microsoft. Стартирайте cmd.exe, навигирайте до папката, където сте инсталирали (копирали) ADRestore и стартирайте изпълнимия файл adrestore.exe без параметри.

Изходът на тази команда ще ви покаже всички обекти, които може да възстановите. Ако има много изтрити обекти, то добра идея е да добавите след командата и част от името на конкретен обект, за който искате да убедите, че е наличен в контейнера Deleted Objects. Например adrestore.exe service ще покаже всички обекти, които съдържат в името си (Relative Distinguished Name) думата service.

След като сте се убедили, че е възможно да се възстанови желаният от вас обект, изпълнете adrestore.exe /r, за да появи въпросния обект в организационната единица или контейнер, от който е бил изтрит. Отново може да добавите част от името на обекта след параметъра /r, за да ограничите броя на обектите, които бихте желали да възстановите.

Накрая искам да ви обърна внимание на новите Active Direcotry PowerShell командлети при Server 2008 R2, а именно; Get-ADObject и Restore-ADObject, чрез които също може да „съживите“ вече изтрит обект. За тази цел:

1. Отворете Active Directory Module for Windows PowerShell от Administrative Tools на домейн контролер с Windows Server 2008 R2 или от Windows 7 с инсталирани RSAT. Използвайте Run as administrator, за да се уверите, че ще имате достатъчно права да извършите необходимите действия, описани по-долу.

2. За да видите всички изтрити обекти с техните най-важни атрибути, в командния ред на PowerShell изпълнете:
Get-ADObject -Filter ‘isdeleted -eq $TRUE -and name -ne „Deleted Objects“‘ -IncludeDeletedObjects -Properties * | Format-List cn,samAccountName,displayName,lastknownParent,whenchanged

3. За да възстановите желан обект, изпълнете:
Get-ADObject -Filter {String} -IncludeDeletedObjects | Restore-ADObject
Например, ако случайно сте изтрили акаунта WSS_Service_Account, то командата по-горе би изглеждала така:
Get-ADObject -Filter {sAMAccountName -eq „wss_service_account“} –IncludeDeletedObjects | Restore-ADObject

Ето и една проста закачка за домашно. Какво прави следният скрипт?
Get-ADObject -Filter ‘isdeleted -eq $TRUE -and name -like „*Service*“‘ -IncludeDeletedObjects -Properties * | Restore-ADObject

NB!: Нещо важно, което трябва да запомните е, че независимо дали възстановявате чрез ADrestore или посредством Powershell, винаги трябва да се уверите, че контейнерът, откъдето е бил изтрит обектът, все още съществува.

В следваща статия ще ви разкажа за една нова функционалност на ролята AD DS при Windows Server 2008 R2, наречена Active Directory Recycle Bin, както и какво представлява AD Snapshots и как да ги използваме. Също така при интерес ще опиша и процеса по Back up и Restore на базата при ролята AD DS. А сега се заемайте с домашното.

Дарин Йончев е старши инструктор в New Horizons Bulgaria.
Сертифициран е като: MCT, MCSE+Security, MCITP, MCTS, CHFI, CompTIA Security+
Профил на Дарин Йончев
Публикации от Дарин Йончев
Личен блог

Интересувате се от темата? Пишете ни!

    Бързо запитване

    Вашите имена *

    Вашият Email *

    Вашето съобщение *

    captcha

    Добавете коментар

    Вашият имейл адрес няма да бъде публикуван. Задължителните полета са отбелязани с *