
Cikkünkhöz mellékeltük a szóban forgó szkriptet "ADSystemInfo.vbs" néven. Futtatása nem igényel módosítást a forráskódban.
Az Active Directory lekérdezése során felléphetnek hibák, melyek megakadályozzák a szkript további futását. Hiba például, ha egy adott tulajdonság nincs definiálva. Ettől persze még helyes lehet a kapott eredmény, ezért hagyjunk figyelmen kívül minden futás közben keletkező hibát.
Definiáljunk egy "Text" nevű változót üres sztringként. Ebben fogjuk tárolni a képernyőn megjelenítendő eredményt.
Az Active Directory-ról információt az "ADSystemInfo" objektumon keresztül kérhetünk le. Ennek létezik egy "IADsADSystemInfo" nevű implementációja, mely szintén alkalmas információ lekérésre.
Set objSysInfo = CreateObject("ADSystemInfo")
Magukat az információkat az "ADSystemInfo" objektum egyes tulajdonságai tárolják.
Az aktuálisan bejelentkezett felhasználó nevét a "UserName" property adja. Itt jegyeznénk meg, hogy a szkript futtatásához rendszergazdai jogosultság szükséges, mert egy átlag felhasználó nem kaphat még ilyen egyszerűnek tűnő adatot sem. Minden egyes bejegyzést rögzítsünk új sorban.
Text = Text & "Felhasználó neve: " & objSysInfo.UserName & chr(13) & chr(10)
A számítógép nevét a "ComputerName" tulajdonság tárolja.
Text = Text & "Számítógépnév: " & objSysInfo.ComputerName & chr(13) & chr(10)
A hely (site) nevét a "ComputerName" tulajdonság tárolja (pl.: "alapertelmezett-elso-hely-neve")
Text = Text & "Hely neve: " & objSysInfo.SiteName & chr(13) & chr(10)
A tartomány rövid neve a NetBIOS névvel egyezik meg. Például a TEST.NET tartománynál: TEST. Ezt a "DomainShortName" tulajdonságban találjuk.
Text = Text & "Tartomány rövid neve: " & objSysInfo.DomainShortName & chr(13) & chr(10)
A tartomány DNS neve, pedig a teljes név: TEST.NET
Text = Text & "Tartomány DNS neve: " & objSysInfo.DomainDNSName & chr(13) & chr(10)
Minden tartomány egy erdő része, melynek szintén van neve. Ha csak egy tartomány található az adott struktúrában, a két név általában megegyezik. Az erdő nevét a "ForestDNSName" tulajdonság tárolja.
Text = Text & "Erdő DNS neve: " & objSysInfo.ForestDNSName & chr(13) & chr(10)
Az Active Directory-ban a PDC emulátor (Primary Domain Controller) tölti be a legfontosabb szerepet. Több művelet csak itt hajtható végre. De vajon melyik gép ez? A "PDCRoleOwner" tulajdonságból megtudjuk. Az eredményt LDAP szintaxis szerint látjuk viszont.
Text = Text & "PDC szerepkör tulajdonosa: " & objSysInfo.PDCRoleOwner & chr(13) & chr(10)
Ugyanígy megtudhatjuk, hogy melyik gép tárolja a címtárat leíró sémát.
Text = Text & "Séma szerepkör tulajdonosa: " & objSysInfo.SchemaRoleOwner & chr(13) & chr(10)
Végül, hogy a tartomány natív módban működik vagy sem.
Text = Text & "Tartomány natív mód: " & objSysInfo.IsNativeMode
Utolsó lépésként megjelenítjük a képernyőn a kapott eredményt.