Useimmille meistä on varmasti tullut jossain vaiheessa eteen tilanne jolloin on tullut poistaneeksi Active Directorysta objektin jota ei olisi saanut poistaa. Perinteinen keino on tässä tilanteessa ollut kaivaa Domain Controllerin System State varmistukset sisältävät varmistusmediat esiin ja palauttaa Active Directorysta poistettu kohde Domain Controllerin Directory Services Restore Moden avulla.
Poistettujen objektien palauttamiseen ilman varmistuksia ja Directory Services Restore Moden käyttöä on kuitenkin olemassa ilmaisia(kin) työkaluja, joilla poistetun kohteen palautus Active Directoryyn onnistuu ilman monen hankalaksi kokemaa Directory Services Restore Moden käyttöä. Tällöin poistettu kohde palautetaan Active Directorysta poistetut kohteet sisältävästä Tombstonesta (Deleted Objects container).
Ennen kuin ajatuksesta innostuu liiaksi, on varmasti hyvä käydä lyhyesti läpi Tombstonesta palautetun objektin rajoitteita ja palautusprosessia:
-Tarvitset vähintään Domain Admin tasoiset oikeudet Active Directoryyn jotta kohteen palautus Tombstonesta onnistuisi.
-Vain osa poistetun objektin Active Directory attribuuteista säilytetään Tombstonessa eli voidaan palauttaa.
-Palautettu käyttäjä- tai koneobjekti ei ole pelkän Tombstonesta palautuksen jälkeen suoraan käytettävissä.
-Jos haluat palauttaa poistetun tietokone- tai käyttäjäobjektin Active Directoryyn, ilman että joudut kohteen palauttamisen jälkeen resetoimaan tietokonetilin tai vaihtamaan käyttäjän salasanan, on Active Directoryn Schemaan tehtävä muutos, joka mahdollistaa poistetun objektin salasanan tallentamisen Tombstone objektiin. Muutos on kuvattu Ed McKinzien blogiartikkelissa
http://edmckinzie.spaces.live.com/Blog/cns!687C72A5909E4230!232.entry
-Jos käytössä on Exchange sähköpostijärjestelmä, on objektilta Tombstonesta palautuksen jälkeen ensin poistettava kaikki Exchange attribuutit ennen kuin palautettuun käyttäjäobjektiin aiemmin liittynyt postilaatikko voidaan liittää uudelleen käyttäjäobjektiin.
-Active Directorysta poistettu käyttäjäryhmäobjekti voidaan palauttaa Tombstonesta, mutta tietoa siihen kuuluneista käyttäjistä ei. Tämän rajoituksen voi kiertää tallentamalla käyttäjien ryhmäjäsenyydet varmuuskopioinnin piirissä olevaan tiedostoon esim. skriptaamalla, Groupadd-komentorivityökalulla tai käyttämällä tässä blogiartikkelissa myöhemmin esiteltävää AdRestore-työkalua.
-Jos olet poistanut OU:n ja sen sisältämät objektit, niin palautettaessa pitää palautus aina tehdä ”ylhäältä alaspäin”. Eli palauta ensin poistettu OU ja sitten vasta sitten sen sisältämät objektit.
-Palautus voidaan tehdä Tombstonesta vain sen ajan puitteissa joka Active Directoryssa on määritetty Tombstone objektien eliniäksi (Windows Server 2003 AD oletuksena service pack versiosta riippuen joko 60 tai 180 päivää). Sama rajoitus koskee Directory Services Restore Moden kautta varmistuksesta palautettuja Active Directory objekteja. Käytännössä tämä rajoitus tarkoittaa sitä, että jos menet palauttamaan tätä vanhemman objektin Active Directoryyn, syntyy siitä ns. Lingering Object.
Seuraavassa on listattu attribuutit joita Tombstonessa sijaitseva Active Directorysta poistettu objekti voi sisältää (Windows Server 2003 SP1). Vertailun vuoksi kerrataan tässä vielä se että Server 2003 SP1pohjaisessa Active Directoryssä voi koneobjektilla olla oletusarvoisesti 280 eri attribuuttia ja käyttäjäobjektilla 257 attibuuttia, joista vain alle 10 % säilyy kun poistettu kohde siirtyy Tombstoneen.
attributeID
attributeSyntax
distinguishedName
dNReferenceUpdate
governsID
groupType
instanceType
lDAPDisplayName
legacyExchangeDN
msDS-AdditionalSamAccountName
msDS-Auxiliary-Classes
msDS-Entry-Time-To-Die
msDS-IntId
mSMQOwnerID
name
nCName
nTSecurityDescriptor
objectClass
objectGUID
objectSid
oMSyntax
replPropertyMetaData
sAMAccountName
sIDHistory
subClassOf
systemFlags
uid
userAccountControl
uSNChanged
uSNCreated
Seuraavalla komennolla saat selville suurimman osan attribuuteista joita Tombstone objekti Active Directoryssa voi sisältää (komennossa kaikki yhdellä rivillä):
dsquery * cn=schema,cn=configuration,dc=toimialueen,dc=nimi -filter "(&(objectClass=AttributeSchema)(searchFlags:1.2.840.113556.1.4.803:=8))" -scope subtree -attr name
Työkaluja Active Directory objektien palauttamiseen Tombstonesta
Poistetun objektin palauttamiseen Active Directoryyn on tarjolla useita ilmaisia työkaluja, joista seuraavassa käydään lyhyesti läpi ohjelmia, jotka olen käytössä toimiviksi havainnut.
AdRestore
Sysinternalsin komentorivipohjainen AdRestore http://technet.microsoft.com/en-us/sysinternals/bb963906.aspx on oivallinen työkalu vahingossa poistettujen objektien palauttamiseen. Se on helppo käyttää ja tekee mitä lupaa, eli osaa palauttaa poistetun kohteen takaisin Active Directoryyn.

ADRestore.NET
Jos vierastat komentorivityökalujen käyttämistä, niin graafisen käyttöliittymän omaavan Guy Teverovskyn ADRestore.NET http://blogs.microsoft.co.il/blogs/guyt/archive/2007/12/15/adrestore-net-rewrite.aspx voisi olla sinulle oivallinen työkalu AD kohteiden palauttamiseen. Ohjelma sisältää käytännössä saman toiminnallisuuden kuin Sysinternalsin AdRestore, lisättynä mahdollisuudella Tombstone objektin sisältämien attribuuttien tarkasteluun.

Active Directory Explorer
Active Directory Explorer on loistava työkalu käytettäväksi yhdessä AD objektien palautustyökalujen kanssa http://technet.microsoft.com/en-us/sysinternals/bb963907.aspx, ADExplorerilla voit selailla Active Directoryn sisältöä ja tehdä siihen hakuja. Erityisen hyödyllinen ADExplorerin ominaisuus on sen kyky ottaa Active Directorysta snapshotteja. Näistä snapshoteista voi sitten tarkistaa ja käsin palauttaa esim. poistetun käyttäjäobjektin ryhmäjäsenyydet, joita ei tallenneta Tombstoneen tallennettuun objektiin.

Itse olen ottanut tavaksi kerätä näitä snapshotteja talteen kerran kuukaudessa, jolloin on tarpeen tullen helppoa jälkikäteen tarkistella Active Directoryn sisältöä snapshotin ottoajankohtana. ADExplorerilla pystyy myös tekemään Active Directoryn objekteihin, attribuutteihin ja oikeuksiin tehtyjä muutoksia koskevia hakuja ja vertailuja snapshottien sisällöstä. Komentoriviltä suoritettavan adexplorer –snapshot parametrin avulla sen voi Windowsin oman tehtävien ajoituksen kautta ajastaa ottamaan säännöllisesti snapshot Active Directorysta.
Edellä esiteltyjen ohjelmien lisäksi löytyy Tombstone objektin palauttamiseen lukuisia muitakin työkaluja, joita voi etsiskellä vaikkapa Googlen kautta. Näistä yksi mainitsemisen arvoinen työkalu on SDM Softwaren kehittämä Powershell cmdlet, joka löytyy osoitteesta http://www.sdmsoftware.com/freeware.php
Älä kuitenkaan unohda varmuuskopiointia!
Vaikka edellä mainitut työkalut mahdollistavat Active Directory Restore Moden käyttöä huomattavasti suoraviivaisemman kohteen palautuksen Active Directoryyn, on kuitenkin tärkeää tietää Tombstonesta palautettavaan kohteeseen liittyvät rajoitteet ja oikeat toimintatavat kohdetta palautettaessa.
On äärimmäisen tärkeää muistaa pitää Domain Controllereiden System State varmuuskopiot ajan tasalla, koska edellä mainitut työkalut ja Tombstone objektit eivät missään nimessä korvaa System State varmistuksia , jos kohdalle sattuu suurempia ongelmia.