Active Directory Snapshots & DSAMAIN
Dupa atatia ani de Active Directory inca mai sunt multe functionalitati de care majoritatea adminilor nici macar nu au auzit. Si sunt chestii de baza ce te pot ajuta in multe din activitatile zilnice de admin. Iar una din aceste functionalitati este aceea de AD Snapshots (a nu se confunda cu VM Snapshot).
Nu mai stiu daca am scris despre snapshoturi cu mecanismul builtin aici asa ca azi o sa reiau subiectul (acum aproape 10 ani scrisesem ceva pentru Technet). In schimb tin minte ca am scris despre AD Explorer care are o functie asemanatoare.
Functia de snapshot a aparut odata cu Windows Server 2008 si permite sa salvati un snapshot sau o imagine a AD-ului in momentul respectiv. Imagine ce mai apoi poate fi accesata folosind AD Users & Computers.
Nimeni nu vrea sa ajunga sa restaureze dintr-un backup de AD iar recent nici nu a mai fost nevoie de cand cu AD Recycle Bin. Dar sunt situatii cand obiectul nu a fost sters, ci atributele lui au fost modificate si nu prea ai vrea sa restaurezi din backup doar pentru asta. Dar daca ai sti ce se afla inainte in acele atribute, ai putea sa le repopulezi manual.
Iar aici snapshoturile te ajuta. Poti face snapshot-uri ale AD-ului inainte de anuminte modificari, iar daca ceva nu functioneaza asa cum trebuie, poti lua informatia din snapshot.
Si ca sa nu mai lungim vorba, ca sa facem un snapshot, folosim clasicul NTDSUTIL:
Seria de comenzi necesara este snapshot, activate instance ntds, create.
Din acest moment avem un snapshot creat si orice modificare adusa la nivelul NTDS.DIT va fi salvata in snapshot folosind copy on write.
Pentru a vedea snapshoturile existente putem folosi LIST ALL:
Primul snapshot este cel care ne intereseaza pe noi, al doilea reprezinta volumul pe care se afla baza de date (in functie de setup aici pot fi listate mai multe volume).
Tot ce trebuie sa facem acum, este sa montam snapshot-ul. Si facem asta cu MOUNT si ID-ul din prima linie (nu cea ce reprezinta volumul):
Iar acum daca folosim Windows Explorer o sa vedem ceva de genul asta:
Comanda LIST MOUNTED ne va arata tot ce am montat din NTDSUTIL:
Iar comanda UNMOUNT va demonta volumul respectiv.
Nota: comanda DELETE poate fi folosita pentru a sterge un snapshot si va recomand sa faceti asta atunci cand nu mai sunt necesare.
Ok, si acum ca avem un snapshot creat si montat, ce facem mai departe. Mai e nevoie de inca un pas, si anume de DSAMAIN cu parametrul /DBPATH si /LDAPPORT pentru a porni o instanta separata a bazei NTDS.DIT din snapshot.
In exemplul de mai sus, am pornit o noua instanta pe portul 7000 ce va rula atata timp cat DSAMAIN este pornit in acel comand prompt.
Nota: E de la sine inteles de ce nu putem folosi porturile default. Suntem pe un Domain Controller si sunt deja folosite.
Ca sa ne conectam folosim Active Directory Users and Computers si alegem optiunea Change Domain Controller:
Iar din acest moment avem acces la versiunea read only din snapshot.
La final trebuie doar sa inchidem consola si command promptul in care ruleaza DSAMAIN. Si daca este nevoie sa stergem snapshotul.
Mai trebuie sa mai spun ca DSAMAIN poate fi folosit pentr a instanta copii ale NTDS.DIT si din backup. Nu este nevoie neaparat de snapshot facut cu NTDSUTIL.
Si bineinteles, comenzile din NTDSUTIl se pot si automatiza, dar asta cu alta ocazie .