Neben eineAm klassischen ADSI-Skript gibt es eine relativ einfache Möglichkeit, Informationen aus dem Active Directory auszulesen. Hierzu lässt sich das COM-Objekt "ADSystemInfo" verwenden. Es gewährt einen schnellen Zugriff auf einige oft benötigte Daten aus dem AD. Die Dokumentation des Objekts findet sich im MSDN (http://msdn.microsoft.com/library/default.asp?url=/library/en-us/adsi/adsi/iadsadsysteminfo.asp).
Hier ein kleines Beispielskript, das die Verwendung illustriert:
Set objADSysInf = CreateObject("ADSystemInfo")
WScript.Echo objADSysInf.UserName
WScript.Echo objADSysInf.ComputerName
WScript.Echo objADSysInf.DomainDNSName
WScript.Echo objADSysInf.DomainShortName
WScript.Echo objADSysInf.SiteName
WScript.Echo objADSysInf.PDCRoleOwner
WScript.Echo objADSysInf.IsNativeMode
strSrv = objADSysInf.GetAnyDCName
WScript.Echo strSrv
WScript.Echo objADSysInf.GetDCSiteName(strSrv)
WScript.Echo Join(objADSysInf.GetTrees, "; ")
Ein interessanter Punkt dabei ist, dass die Namens-Attribute hier die AD-Werte ausgeben, d.h. aus dem Usernamen lässt sich z.B. sehr einfach die OU des Benutzers auslesen. Oder um es mit Norbert Fehlauers Worten zu sagen:
Set objADSysInf = CreateObject("ADSystemInfo")
Set objUser = GetObject("LDAP://" & objADSysInf.UserName)
Set objOU = GetObject(objUser.parent)
WScript.Echo objOU.distinguishedName
http://faq-o-matic.net/?p=627



Kategorie:
Translate EN