Módosítani kellene felhasználói adatokat az Active Directoryban. Ez még nem nagy ügy, előkapjuk az Active Directory Users & Computers snap-int és átírjuk, amit akarunk.
Csakhogy ez nem mindig elegendő. Illetve, van, amikor elegendő, de kényelmetlen. Azután van, amikor elegendő ugyan, de nem szeretnénk annyit dolgozni.
Szerencsére rengeteg segédprogram létezik erre a feladatra. Jelen cikkben a grafikus felülettel rendelkezők kerülnek bemutatásra, a következőben pedig a parancssorosak lépnek porondra.

1. ADModify.net

Nagyon hasznos kis program. Valamikor az Exchange csapat írta saját használatára, de annyira jó lett, hogy felturbózták és most általános címtármódosító program lett belőle. Egyik előnye, hogy nagy tételben (bulk) lehet segítségével a címtár adatait módosítani. A másik, hogy bármely adat értékét módosíthatjuk vele – feltéve, hogy megvannak hozzá a jogosultságaink.

Már rögtön az induló képernyőn felvillant valamit az erejéből:

Nagyítás

  • 1.1 Modify AttributesItt léphetünk be az adatmódosító menübe. Persze nem egyből, először ki kell jelölnünk a módosítandó adatok körét. Ez lehet egy felhasználó, több felhasználó (lsd a képen), illetve extrém esetben a konfigurációs névtér egy eleme. Amikor több felhasználóról van szó, kijelölhetjük őket egyesével, de használhatunk saját magunk által összerakott LDAP lekérdezést is.

    Nagyítás

    A lényeg, hogy a jobb oldali oszlopban legyen valamilyen objektum – ekkor mehetünk tovább.
    A következő képernyőn egy százfülű ablakot találunk, mely első ránézésre meglehetősen hasonlít az ADUC felhasználói adatokat módosító ablakára. De csak első ránézésre.
    Az ördög ugye szokás szerint megint a részletekben…

    Például nézzük meg alaposan a fenti ablakot. Látható, hogy az előzőleg kijelölt felhasználói csokor számára egységesen tudunk új smtp címet generálni, sőt, akár elsődlegessé is tehetjük azt. Ha belegondolunk, hogy ugyanez Recipient Policy segítségével mennyire körülményes (LDAP szűrő, Recipient Update Service rugdosása…), akkor hamar megszerethetjük ezt a fület – pedig a legérdekesebb opcióról nem is beszéltem. Gondolom, nem árulok el újdonságot, ha megemlítem, hogy a Recipient Policy segítségével kiszórt emailcímek a policy törlése után nem törlődnek maguktól. Annál azért jobban kapaszkodnak. Egyfelől ezeket el lehet távolítani úgy, hogy felbérelünk tizenegy norvég hálóstoppoló öregasszonyt akik egyenként kitörlik a megfelelő címeket – másfelől megcsinálhatjuk azt, hogy a megszűnt házirend LDAP-szűrő ablakából kimásoljuk az LDAP feltételt, azzal berontunk az ADModify.net segédprogramba, majd miután lejött az érintett felhasználók listája, mindegyiket kijelöljük és a fenti képen látható ‘Remove email address’ opcióval eltávolítjuk a feleslegessé vált címeket.
    Végülis, ízlés kérdése.
    (Megjegyzem, azért ez a lehetőség nem helyettesíti teljeskörűen a Recipient Policy-t – a felhasználók létrehozását, mozgatását kísérő automatizmus hiányzik belőle.)

    Csemegézzünk még a fülek között. Van egy másik remek tab, úgy hívják, hogy custom. Amennyiben ismerjük a módosítandó tulajdonság nevét, akkor itt simán átírhatjuk az értékét.
    Konkrét példa. Nagyon sok helyen létezik a felhasználóknak egy, a HR által generált azonosítója. A címtárban létezik az employeeID nevű tulajdonság, direkt erre a feladatra felingerelve. Nagyon fontos egy tulajdonság lenne, hiszen ezáltal lenne összeköthető a HR adatbázis és az Active Directory. Mégse használja senki, mert az ADUC-ban nincs kivezetve a felületre az értéke. Amennyiben használják, akkor vagy megvásárolják a Hyena segédprogramot, vagy az adminnak kell összedobnia egy webfelületű szkriptet a tulajdonság kezelése céljából – vagy egy másik tulajdonságot oroznak el erre a célra.
    Nos, az ADModify.net ebben is segít. Az alábbi képen éppen Farkas Berci munkahelyi azonosítókódját módosítom. (Sajnálatosan a probléma ettől teljesen nem oldódik meg, a kód értékét kiolvasni ebből a programból sem tudjuk. Erre lesznek jók a később bemutatott parancssoros segédprogramok.)

    Itt kell megemlíteni még egy lehetőséget. Amikor kijelöljük, kiknek az adatait akarjuk piszkálni, kiválaszthatjuk a konfigurációs névteret is, illetve ezen belül tetszőleges objektumot. Az más kérdés, hogy elég furán fog kinézni utána a felhasználói adatok módosítására kitalált képernyő – mondjuk egy Exchange Store objektumnál. De még így sem értelmetlen a módszer, ugyanis a custom fül alatt módosíthatunk olyan tulajdonságot, amely ennél a – nem egészen idevaló – objektumnál található. (Szvsz. ez persze igazából csak agytorna, az ilyen tulajdonságok kezelésére ezerszer jobb segédprogram az ADSIEdit.)

  • 1.2 Undo ChangesMinden módosításról log készül xml formátumban, tehát simán vissza is tudjuk vonni az eddigieket.
    Magát a logot az alábbi ábra mutatja, az alatta lévő pedig a visszatöltő ablakot.
    Nem egy pilótavizsgás funkció, de roppant hasznos.

  • 1.3 Import Mailbox rightsExchange postafiókok jogosultságait importálhatjuk be xml fájlból.
    Maga a fájl az első menüpontban állítható elő, mint az ábrán is látható.

    Mielőtt továbbrohannánk, időzzünk el egy kicsit az ablaknál. Ugye mindenkinek feltűnt, hogy a program segítségével felhasználók egy tetszőleges csoportjánál tehetünk rá valakit megfelelő jogosultággal az illetők postafiókjára, illetve pont fordítva, vehetünk el jogosultságokat a postafiókoktól?
    Ha igen, akkor tényleg mehetünk tovább.
    A jogosultság export után egy xml fájl keletkezik.

    Nagyítás

    Szép. És ami fájl, az természetesen módosítható is. Más kérdés, hogy értelme nem sok van – jogosultság visszatöltést célszerűen backup/restore céllal érdemes használni, ugyanis jelen menüpontban nincs undo. Ha módosítani akarunk, akkor használjuk csak a korábbi ‘Mailbox Rights’ fület.

    És akkor a visszatöltés nem túl szofisztikált ablaka:

    Itt azt kell észrevenni, hogy a jogosultságok lehetnek additívak, illetve agyonvágóak.

A programcsomaggal nemcsak GUI jön, létezik a program parancssoros változatban is. A szintaxist és a kapcsolókat most nem elemzgetném, az ‘admodcmd -? > admodcmdhlp.txt’ parancsot ajánlom mindenki szíves figyelmébe, illetve a keletkező fájl kinyomtatását. Nagyon sok oldal lesz, de ebből lehet majd kibogarászgatni, hogy bármit, amit a grafikus felületen meg lehetett csinálni, hogyan lehet parancssorból is véghezvinni. Példák természetesen vannak.

Az írás végére még néhány link:

2. GALMod

A program becsületes neve: Global Address List Modify tool.
Nem egy mai gyerekről van szó, anno az Exchange5.5-höz készült – ennek ellenére remekül elboldogul az újabb Exchange verziókkal is, hiszen a szerverek szó nélkül tovább passzolják a címtárnak a módosítási igényeket. A program először az Exchange 5.5 Resource Kit-nek volt része, majd rákerült a későbbi verziókhoz tartozó RK cédékre is.
A használata egyszerű, mint a faék. Első induláskor legyárt egy MAPI profilt (ha addig nem volt), majd feljön egy háromfülű ablak, amelyikben a profilhoz tartozó postafiók azon adatait lehet módosítani, melyek a címlistákban is megjelennek.

Nagyítás
2.1 MAPI profil kiválasztása

Nagyítás
2.2 Első fül

Nagyítás
2.3 Második fül

Hogy annyira azért ne legyen egyszerű az élet, szerveroldalon Windows2003 szerver kell hozzá, futó ASP.NET szolgáltatással. (A régebbi verziók esetén szükség lesz egy kis hegesztésre is, ezekről részletesen itt vagy itt lehet olvasni.)

A képeken látható, hogy bizonyos mezők szürkék – ezek nem módosíthatók. A többi viszont igen.

Link szekció:

3. Directory Update
Jim McBee egyébként is egy jónevű fickó. Directory MVP, aki egész érdekes írásokat szokott publikálni a blogján. Régebben használta néha a GALMOD programot és érzékelte annak hiányosságait. Szerencsére nem csak érzékelte, hanem írt is egy másikat, melyet Directory Update-nek nevezett. (Nem, nem Norbi.)

Miben is különbözik ez a GALMOD-tól?
Sok mindenben:

  • Semmit nem kell kliensoldalon telepíteni.
  • Egyenként lehet szabályozni, hogy a GAL-ban szereplő tulajdonságok közül melyek látszódjanak és ezek közül melyek legyenek módosíthatók.
  • Bővebb a módosítható tulajdonságok köre.
  • Minden tulajdonsághoz szabadon konfigurálható drop-down lista rendelhető.
  • A képernyő testreszabható.
  • A kommunikáció egyszerűen titkosítható.

Ennyi plusz funkció láttán Jim úgy döntött, hogy ez nem ingyenes program lesz, inkább megpróbálja eladni azt. Jelenleg 250$/domain áron forgalmazza. Nem kevés… de ha belegondolunk, hogy mivel a felhasználók saját böngészőjükből képesek módosítani az adataikat, így az eredmény egy mindig aktuális címtár lesz, … lehet, hogy mégis megéri. (Természetesen ahol szigorú előírások, ISOxxxx és change management szabályozza a változtatásokat, ott a program számára nem sok babér terem. De kisebb/közepes cégeknél el lehet rajta gondolkodni.)
A webről 10 napos próbaverziót lehet letölteni.

Pár szó a működésről.
Ahhoz, hogy egyáltalán telepíteni lehessen, egy Windows2003 DC vagy member szerverre lesz szükség, melyen fut az IIS és az ASP.NET szolgáltatás. Maga a telepítés nem különösebben bonyolult, majdhogynem next-next-finish. A végén létrejön egy DirectoryUpdate virtuális könyvtár. Opcionálisan erre lehet rávarázsolni az SSL elérést.

Első lépésben a szerveroldal kész is. Kliens oldalon be kell írni a böngészőbe, hogy ‘http://webszerver/DirectoryUpdate/default.aspx’ – és máris Bob a bácsikánk.

A sikeres bejelentkezés után kapjuk meg az adatmódosító ablakot.
Már ez sem rossz, de testreszabás nélkül ez az ablak egy félkarú óriás. (Gyönyörű:)
A virtuális könyvtár alatt találni fogunk két xml és egy css fájlt. Ezeken keresztül lehet majd az alkalmazást konfigurálgatni. A css fájl értelemszerűen a kinézet – betűk, színek – állítgatására jó, az xml fájlok közül az egyik az alapbeállítások biztonsági tartaléka. A másik, az appsettings.xml tartalmazza a program működését befolyásoló paramétereket. A felépítése értelmes, logikus, nem hiszem, hogy túlságosan el kellene mélyülnöm a magyarázatában.
Minden értékhez tartozik egy type, egy editable és egy visible változó. Az utóbbi kettő yes/no értékkel bírhat, a type pedig lehet text v. dropdown. Ezekkel lehet beállítani, hogy egy tulajdonság egyáltalán látható legyen-e, ha igen, akkor az értéke szerkeszthető legyen-e és ha igen, akkor szabadon lehessen módosítani vagy csak egy legördülő listáról. Magukat a listaelemeket value tag-ek közé kell beírni.

Először töltsük fel a listaelemeket.

Nagyítás

Majd tiltsuk le az IP telefon értékének a módosítását.

Nagyítás

És itt is a kívánt végeredmény.

Nagyítás

Végül a link szekció:

4. ADSIEdit, LDP
Segédprogramok nem csak lelkes emberek műhelyeiben teremnek, akadnak az operációs rendszerben is rendesen. A Windows server telepítő cédé Support Tools csomagjában (telepíteni kötelező!) található többek között a címsorban található két segédprogram. Mindkettő grafikus felületű – és mindkettőről elmondható, hogy mindent, hangsúlyozom, mindent módosíthatunk segítségükkel a címtárban. (Feltéve, hogy van hozzá jogosultságunk.) Emiatt kéretik igen óvatosan bánni velük.
Az ADSIEdit egy MMC snap-in, célszerű felvenni a mindennapos custom MMC konzolunkra.

Nagyítás

A használata igen egyszerű. (A W2K és a W2K3 alatti verziók eltérnek egy cseppet, de nem vészesen. A cikkben a W2K3 verziót használtam.)
Kikeressük a megfelelő tulajdonságot (ehhez persze ismerni kell az AD névtereit és azokon belül a struktúrákat), majd nemes egyszerűséggel átírjuk azt. A lenti példában például törlöm Farkas Berci egyik emailcímét.

Nagyítás

Az LDP programnak kicsit más a filozófiája. Elsősorban gyors nézegetéshez ajánlott, a tulajdonság értékek átírása kicsit körülményes benne. Nagy előny, hogy az egyes objektumokra kattintva csak az értékkel rendelkező tulajdonságokat listázza ki, így gyorsan áttekinthetjük egy objektum összes létező értékét. (Tudjuk ugye, hogy ha egy tulajdonságnak nincs értéke, akkor az nem létezik.)
A lenti képernyőkép szerintem magáért beszél.

Nagyítás

Ahhoz, hogy idáig eljussunk, három lépést kell megtennünk.

– Connection/Connect

Nagyítás

– Connection/Bind

Nagyítás

– View/Tree

Nagyítás

Értéket módosítani pedig az alábbi módon lehet.

Nagyítás

Link szekció: