HyperLink
Bejelentkezés
E-mail: 
Jelszó: 





Skip Navigation Links
 

Szkriptek az Active Directory-hoz


Active Directory 3. rész

Példaprogram letöltése

3663 bájt

Cikksorozatunk befejező részében az Active Directory objektumainak néhány tulajdonságát kérdezzük le és jelenítjük meg a képernyőn VBScript-ek használatával. Célunk bemutatni, hogy lehet egyszerű szkriptek alkalmazásával listákat készíteni, sokkal egyszerűbben és gyorsabban eredményt elérve, mint ha a grafikus eszközök nyújtotta lehetőségekkel élünk.

Cikkünkhöz mellékeltük az alábbiakban szereplő példaszkripteket:
"LogonCount.vbs" - Készít egy listát a címtár felhasználóiról, mellékelve, hogy eddig hányszor jelentkeztek be.
"UserList.vbs" - Lista a címtár felhasználóiról.
"GroupList.vbs" - Lista a címtár felhasználói csoportjairól.
"ClientSystems.vbs" - Megjeleníti a tartomány kliens gépeinek nevét, operációs rendszerüket, verziószámát és a telepített javítócsomag (Service Pack) számát.
"SPAlarm.vbs" - Készít egy listát azon kliens gépekről, amelyek nem tartalmazzák a Service Pack 2-t.
Példáinkban mindenhol a "so.zp" tartománynevet használtuk. A szkriptek felhasználása előtt ezt módosítani kell az Ön által elérhető tartomány nevére. Továbbá futtatásukhoz rendszergazdai jogokra lesz szükség.
1. feladat
Készítsünk egy szkriptet, amely lekérdezi, hogy melyik felhasználói fiókkal hány alkalommal jelentkeztek be, de csak abban az esetben, ha ez a szám nullánál nagyobb. Továbbá csak a címtár "User" nevű tárolójában lévő felhasználókat ellenőrizzük.
Sorozatunk előző részében bemutattuk, hogy az "ADSIEdit.exe" programmal miként lehet egy objektum tulajdonságait kilistázni. Ha ismét megnézzük, akkor látható, hogy az Active Directory minden felhasználói fióknál használ egy "LogonCount" nevű tulajdonságot. Ez nem más, mint a bejelentkezések száma. Amikor létrejön egy új fiók a szám 0 értéket vesz fel, ezt követően minden bejelentkezésnél eggyel növekszik. Nem kell mást tennünk csak egy LDAP kérést intézni a címtárhoz, lekérve a "Users" tároló összes objektumát. Ezután végighaladunk mindegyik példányon és ellenőrizzük, hogy a "LogonCount" értéke nagyobb-e nullánál. Ha igen, akkor eltároljuk egy "Text" nevű változóba az objektum nevét (child.name) és a bejelentkezések számát. Végül megjelenítjük a változó tartalmát a képernyőn.
LDAP = "LDAP://CN=Users,DC=so,DC=zp"
Text=""
Set settings = GetObject(LDAP)
For Each child in settings
 if child.LogonCount > 0 then
  Text=Text+child.Name & "  Bejelentkezések száma: " & child.LogonCount & chr(13)
 end if
Next
Wscript.Echo Text
Set settings = Nothing
2. feladat
Listázzuk ki a "Users" tárolóban található összes felhasználó nevét. Első hallásra egyszerűnek tűnik a feladat, de ha jobban belegondolunk a "User" mappában nem csak felhasználók, hanem felhasználói csoportok is találhatók. Hogy tudjuk megkülönböztetni őket? Az objektumok tulajdonságait szemlélve nem találunk köztük olyat, amelyik biztosan választ ad kérdésünkre. Ezért magának az objektumnak a típusát kell vizsgálni (class). A lekérdezés ebben az esetben is úgy indul, mint az előbb. Szintén meg kell vizsgálni az összes objektumpéldányt, de most a "class" tulajdonságát nézzük. Minden címtári objektum rendelkezik egy típussal. Az ADSIEdit programban az objektum tulajdonság lapján a "Class" felírat után jelenik meg. A felhasználók esetében ez "user" értéket jelent.
LDAP = "LDAP://CN=Users,DC=so,DC=zp"
Set objConf = GetObject(LDAP)
Text="Felhasználók listája" + chr(13)
Text= Text + "-------------------------------------" + chr(13)
For Each child in objConf 
 if child.class = "user" then
  Text=Text+child.name & "  " & chr(13)
 end if
Next
   Wscript.Echo Text
Set objConf = Nothing
3. feladat
Az előző feladat folytatásaként készítsünk egy listát a "Users" tárolóban található csoportokról. Ebben az esetben a "class" tulajdonság a "group" értéket veszi fel.
LDAP = "LDAP://CN=Users,DC=so,DC=zp"
Set objConf = GetObject(LDAP)
Text="Felhasználói csoportok listája" + chr(13)
Text= Text + "-------------------------------------" + chr(13)
For Each child in objConf 
 if child.class = "group" then
  Text=Text+child.name & "  " & chr(13)
 end if
Next
   Wscript.Echo Text
Set objConf = Nothing
4.feladat
Készítsünk egy listát a címtárban található kliens gépekről, megjelenítve nevüket, operációs rendszerük típusát, pontos verziószámát és a telepített javítócsomag (Service Pack) verzióját. A kliens gépeket alapesetben a "Computers" nevű tárolóban helyezi el az Active Directory. Itt nem kell válogatnunk, mint az előző két szkriptben, egyszerűen listázzuk ki az összes objektumot, megjelenítve az "OperatingSystem", "OperatingSystemVersion" és "OperatingSystemServicePack" tulajdonságokat. A gépek nevénél most nem az objektum "name" tulajdonságát íratjuk ki, hanem kihasználjuk, hogy számítógépek esetében rendelkezésre áll egy "DNSHostName" tulajdonság. Ebben tárolódik a gép teljes minősített tartományneve (FQDN).
LDAP = "LDAP://CN=Computers,DC=so,DC=zp"
Set objConf = GetObject(LDAP)
Text="Számítógépek listája" + chr(13)
Text= Text + "-------------------------------------" + chr(13)
For Each child in objConf 
  Text=Text+child.DNSHostName & "  " & " Operációs rendszer: " & child.OperatingSystem & " " & child.OperatingSystemVersion & " " & child.OperatingSystemServicePack & chr(13)
Next
   Wscript.Echo Text
Set objConf = Nothing
5.feladat
Az előző feladat folytatásaként most csak azokról a gépekről kérjünk listát, amelyek nem rendelkeznek Service Pack 2-vel.
Ellenőrizzük a "Computers" tároló összes objektumát és minden esetben megvizsgáljuk a "OperatingSystemServicePack" tulajdonságot úgy, mint egy sztringet. Ha értéke nem egyezik meg " Service Pack 2"-val, akkor megjelenítjük a gép DNS nevét, operációs rendszer típusát, verziószámát és végül a javítócsomag típusát.
LDAP = "LDAP://CN=Computers,DC=so,DC=zp"
Set objConf = GetObject(LDAP)
Text="Service Pack 2-vel nem rendelkező gépek" + chr(13)
Text= Text + "--------------------------------------------------" + chr(13)
For Each child in objConf 
 if child.OperatingSystemServicePack <> "Service Pack 2" then
  Text=Text+child.DNSHostName & "  " & " Operációs rendszer: " & child.OperatingSystem & " " & child.OperatingSystemVersion & " " & child.OperatingSystemServicePack & chr(13)
 end if
Next
   Wscript.Echo Text
Set objConf = Nothing

Cikksorozat

#IDKategóriaCikk címeSorozat
2591WindowsTippek és trükkök - RAS - Modem csengetési szám állítása1. rész
2622WindowsTippek és trükkök - Program futtatása más felhasználóként2. rész
2640WindowsA Windows ikonméretének megváltoztatása és Windows 2000 Asztaltémák3. rész
2657WindowsTippek és trükkök - Internet Explorer4. rész
2667WindowsTippek és trükkök5. rész
2684WindowsAlapértelmezések állítása, telepítési fájlok helye, intéző nézetek6. rész
2696WindowsBiztonsági trükkök7. rész
2702WindowsWindows XP trükkök8. rész
2729WindowsWindows 2000 és XP tippek, trükkök9. rész
2757WindowsRegistry trükkök10. rész
2784WindowsTippek, trükkök11. rész
2829WindowsTippek, trükkök12. rész
2889WindowsWindows XP tippek13. rész
2909WindowsTippek Windows XP-hez14. rész
2919WindowsWindows tippek15. rész
2924WindowsWindows tippek16. rész
2963WindowsWindows tippek17. rész
2973WindowsWindows Tippek18. rész
2981WindowsWindows tippek19. rész
2990WindowsTippek-trükkök20. rész
3027WindowsIIS tippek21. rész
3034WindowsWindows XP tippek-trükkök22. rész
3088WindowsWindows 2000/XP tippek, trükkök23. rész
3133WindowsWindows XP tippcsokor24. rész
3140WindowsWindows XP tippek, trükkök25. rész
3152WindowsXP és IIS tippek - trükkök26. rész
3158WindowsWindows XP tippek, trükkök27. rész
3168WindowsTippek, trükkök28. rész
3170WindowsRegistry trükkök29. rész
3179WindowsTippek, trükkök30. rész
3197WindowsWindows XP tippek, trükkök31. rész
3205WindowsTippek, trükkök32. rész
3214WindowsTippek, trükkök33. rész
3223WindowsTippek, trükkök34. rész
3233WindowsTippek, trükkök35. rész
3271WindowsTippek, trükkök36. rész
3307WindowsTippek, trükkök37. rész
3370WindowsTippek, trükkök38. rész
3399WindowsTippek, trükkök39. rész
3510WindowsTippek, trükkök40. rész
3611WindowsHardverrel kapcsolatos tippek, trükkök41. rész
3668WindowsRegistry trükkök42. rész
3711WindowsTippek, trükkök43. rész
3771WindowsTippek, trükkök44. rész
3801WindowsTippek, trükkök45. rész
3831WindowsTippek, trükkök46. rész
3891WindowsTippek, trükkök47. rész
3921WindowsTippek, trükkök48. rész
3981WindowsTippek, trükkök49. rész
4041WindowsTippek, trükkök50. rész
4071WindowsTippek, trükkök51. rész
4151WindowsTippek, trükkök52. rész
4171C#Tippek, trükkök53. rész
4211WindowsTippek, trükkök54. rész
4251WindowsTippek, trükkök55. rész
4281WindowsTippek, trükkök56. rész
3589DelphiTippek, trükkök57. rész
3718DelphiTippek, trükkök58. rész


Könyv
Ez a cikk megtalálható ebben a könyvben: Windows Software Offline 2002 évkönyv 178. oldal

Felhasználási feltételek
A Software Online szoftverfejlesztői magazin mindegyik cikke, minden megjelent képe, és egyéb publikált anyaga szerzői jog védelme alatt áll! Bármilyen formában történő másodlagos terjesztésük, közzétételük vagy felhasználásuk kizárólag a kiadó előzetes írásbeli engedélyével történhet!

Copyright © 1999-2012 Animare Software Kft. Minden jog fenntartva!
| Készült: Animare Stúdió | Adatvédelem | Kapcsolat |