Podobnie jak w przypadku środowisk wirtualnych, dla Active Directory można stworzyć snapshot. Nie jest to to samo co w dla wirtualizatorów, ale można za jego pomocą stworzyć kopię Active Directory z danego momentu w czasie. Jest to przydatne chociażby do odzyskiwania obiektów bez konieczności korzystania z trybu DSRM, np. gdy nie posiadamy oprogramowania do kontroli zmian w AD, możemy w prosty sposób użyć właśnie snapshotów do tego.
Niestety, jak każde rozwiązanie ma swoje wady. Do nich zaliczamy chociażby: konieczność posiadania wysokich uprawnień w domenie, aby móc odczytać zawartość snapshotu, czy też fakt, że snapshot tworzymy na wybranym kontrolerze i tylko na nim jest on dostępny.
Zobaczcie zatem jak utworzyć i używać takiego snapshota. Przejdźmy zatem do powershell-a lub command line, a następnie do narzędzia NTDSUtil
następnie należy użyć komendy: activate instance ntds
Przechodzimy teraz do opcji snapshot
Wykonujemy polecenie utworzenia snapshotu: create
W rezultacie utworzył się snapshot o ID {2626499c-17ec-42ee-a2c0-eecee0156adf}. Polecenie list all spowoduje wyświetlenie wszystkich utworzonych snapshotów.
Kolejną komendą jest podłączenie snapshotu z listy, w moim przypadku: mount 2
Z poziomu eksploratora plików należy zlokalizować plik ntds.dit w podmontowanym snapshocie. U mnie będzie to C:\$SNAP_202410231432_VOLUMEC$\Windows\NTDS\ntds.dit
Ostatnim już krokiem będzie podłączenie kolejnej instancji AD z podłączonego snapshotu używając polecenia dsamain, podajemy 2 parametry: ścieżkę do pliku bazy ntds.dit oraz portu, na który instancja bazy ma być dostępna.
dsamain -dbpath C:\$SNAP_202410231432_VOLUMEC$\Windows\NTDS\ntds.dit -ldapport 50000
Tak długo jak okno cmd/powershell jest uruchomione, instancja AD z podłączonego snapshotu jest dostępna. Wystarczy uruchomić konsolę Active Directory Users and Computers, kliknąć prawym na nazwie domeny, po czym z menu kontekstowego wybrać opcje Change Domain Controller…
Łączymy się z kontrolerem podając jego nazwę (lub adres IP) oraz port, który podaliśmy w poprzednim kroku (ldapport)
W efekcie podłączymy się do bazy ntds.dit z naszego utworzonego snapshota, przez co mamy wgląd do obiektów z danego punktu w czasie.
Możemy mieć więcej niż jeden punkt kontrolny i podłączać je w zależności od potrzeb. Mamy wtedy opcję odtworzenia atrybutów obiektów z danych punktów w czasie. Podsumowując, na pewno dedykowane systemy dają nam większą kontrolę w czasie rzeczywistym nad zmianami atrybutów obiektów, jednak warto pamiętać, że Active Directory ma natywny mechanizm, który pozwala na osiągnięcie podobnych efektów (niestety większym nakładem pracy).
EDIT —> W 2-giej części wpisu dot. tworzenia skryptów z interfejsem okienkowym powstała aplikacja, która pozwoli przyspieszyć pracę – Link 🙂
Jeden komentarz do “Snapshot Active Directory – co to? jak go wykorzystać?”