Windows - A címtáradatok szövegfájlba mentése és visszatöltése

Az Active Directory adatbázisának minden adatát kiírathatjuk egy szöveges formátumú fájlba. Itt ezután tetszés szerint - a szintaxis és egyéb szabályok megtartásával - módosíthatjuk őket. Ezután az adatokat visszatölthetjük az Active Directory-ba, de más címtárakba is. Csoportos adatmódosításra, statisztikák készítésére vagy biztonsági másolat céljára is használható eszközt kapunk ezzel kézhez.
Adatok exportálása
Az Active Directory adatbázisa a Windows 2000 szerver verzióiban integrált két parancssori segédprogram valamelyikével vihető át szövegfájlba. Az egyik (LDIFDE.EXE ahol LDIFDE=LDAP Data Interchange Format Data Exchange) egy könnyen áttekinthető listát, a másik (CSVDE.EXE ahol CSVDE=Comma-separated Value Data Exchange) pedig egy táblázatkezelő (pl. Excel) által is importálható CSV formátumú, táblázattá alakítható állományt készít. Mindkét program a %systemroot%\system32 könyvtárban található meg.
Az adatok megjelenési formája LDAP szintaxis szerint történik, ami egy protokollon keresztül valósul meg (Lightweight Directory Access Protocol = LDAP). A protokoll TCP/IP hálózatokban használható különböző címtárak elérésére. Segítségével olvashatók, írhatók és módosíthatók az adatbázis elemei. Új felhasználókat hozhatunk létre, meglévőket törölhetünk, stb. Több verzióban létezik, ezek pontos leírása az IETF szabványokban található meg. Az Active Dierctory a 2-es és 3-as verziót kezeli.

Indítsunk el a tartományvezérlőn egy parancssori ablakot és írjuk be a következő utasítást:
ldifde /f ad.txt
Ahol a /f kapcsoló után egy elérési utat adhatunk meg, ahová az adatok importálását kérjük. Az utasítás kimenetei között láthatjuk, hogy a jelenlegi felhasználó adataival zajlik a címtárhozzáférés, ezért rendszergazdai fiókkal kell bejelentkeznünk (vagy a RUN AS paranccsal rendszergazdaként futtatni a programot).
Ugyanez CSV formátumban:
 csvde /f ad.txt
Ha ugyanezt nem a helyi gépen akarjuk megtenni, akkor meg kell adni egy másik tartományvezérlő nevét vagy IP címét.
ldifde /f ad.txt /s server2
Az exportált adatok eddig rejtve maradtak a művelet során és csak a szövegfájlban találkoztunk velük. Nem így a /v kapcsoló használatával.
ldifde /f ad.txt /v
Ilyenkor a segédprogram közvetlenül a képernyőre is listáz.
Minden alkalommal, amikor futtatjuk az LDIFDE vagy CSVDE programokat, keletkezik a kimeneti szövegfájl mellett egy "LDIF.LOG" és "CSV.LOG" nevű naplófájl. Ezekben lépésről lépésre le vannak jegyezve az elvégzett műveletek. Hibakeresések alkalmával hasznos lehet, ha látjuk, hogy hol akadt el a végrehajtás. Tehát alapértelmezésben az aktuális útvonal által meghatározott helyen jön létre a naplóállomány, de átirányítható máshová is:
ldifde /f ad.txt /j c:\temp
A fenti parancsokkal mindig a teljes címtártartalmat írattuk ki, cikkünk végén ismertetjük, hogy miként lehet ezeket visszatölteni az Active Directory-ba vagy más címtárba. És itt jön egy probléma: Mi van, ha a másik címtár nem kezeli le az Active Directory egyes tulajdonságait? Megtehetjük, hogy az exportálás eredményeként keletkezett szövegfájlt módosítjuk és ezután végezzük el az importálást. Van egy ennél jobb megoldás, ha eleve nem mentjük a kérdéses tulajdonságokat. Például nincs szükségünk a "whencreated" és a "whenchanged" rekordokra. Ebben az esetben adjuk ki így a parancsot:
ldifde /f ad.txt /o "whencreated, whenchanged"
Másik lehetőség, hogy eleve kihagyjuk az összes olyan objektumot, amely csak az Active Directory-ban létezik (pl.: objectSID).
ldifde /f ad.txt /m
Fentiekben szó volt arról, hogy rendszergazdai jogosultságokra van szükségünk. Ha ezzel nem rendelkeznénk, de birtokában vagyunk egy ilyen névnek és jelszónak, akkor a "/b név tartománynév jelszó" sorrendben megadva szintén eredményt érünk el.
ldifde /f ad.txt /b rendszergazda Microsoft 123abc
Itt is van egy másik lehetőség: adjuk meg a hitelesítő adatokat LDAP szintaxis szerint:
ldifde /f ad.txt /a cn=rendszergazda,cn=users,dc=Microsoft,dc=com 123abc
Példánkban feltételezzük, hogy a rendszergazda fiók a "Microsoft.com" tartomány "Users" tárolójában található és jelszava: "123abc"
Adatok importálása
Ha már kiírattuk a címtári adatokat egy szövegfájlba, akkor onnan vissza is tölthetjük őket az Active Directory-ba vagy más címtárakba is. Ehhez nem kell mást tenni, mint a /i kapcsoló után megadni az importálandó fájl nevét.
ldifde /i /f ad.txt
A végrehajtás során keletkezhetnek hibák, amelyek megakadályozzák a hátralévő adatok feldolgozását. Ilyenkor - végső esetben - a /k kapcsolóval figyelmen kívül hagyhatók ezek.
ldifde /i /f ad.txt /k
Nem említettük minden esetben, de a fenti kapcsolók a CSVDE parancsnál is alkalmazhatók.