Wie man den Namen der eigenen Active Directory Domäne ermittelt
Beim Scripten in Active Directory Umgebungen benötigt man oft den Namen der eigenen Domäne, also der Domäne, in der der Benutzer angemeldet ist, der das Script gerade ausführt - sei es in Form eines LDAP-Pfadnamens, eines (alten) NetBIOS-Namens oder in Form eines voll qualifizierten DNS-Namens.
Der LDAP Pfadname (=Distinguished Name) der eigenen Domäne
Dieses Script findet den LDAP Pfad (=Distinguished Name) der eigenen Domäne:
Set rootDSE = GetObject("LDAP://rootDSE")
domainDN = rootDSE.Get("defaultNamingContext")
WScript.Echo domainDN
Der NetBIOS-Name der eigenen Domäne
Dieses Script findet den NetBIOS-Namen der eigenen Domäne, hierbei werden ausschließlich LDAP-Abfragen verwendet:
Set rootDSE = GetObject("LDAP://rootDSE")
domainDN = rootDSE.Get("defaultNamingContext")
configDN = rootDSE.Get("configurationNamingContext")
Set partitions = GetObject("LDAP://cn=partitions," & configDN)
For Each nameSpace In partitions
If (nameSpace.nCName = domainDN) Then Exit For
Next
domainNETBios = nameSpace.nETBIOSName
WScript.Echo domainNETBios
Die gerade gezeigte Version ist offensichtlich ziemlich kompliziert und steht hier nur zu Demonstrationszwecken. Kürzer geht es mit dem ADSystemInfo COM Objekt:
Set aio = CreateObject("ADSystemInfo")
domainNETBios = aio.DomainShortName
WScript.Echo domainNETBios
Ebenfalls möglich ist die Verwendung des WinNTSystemInfo COM Objects. Ob man dieses oder ADSystemInfo verwendet, hängt davon ab, welche Informationen man noch anderweitig benötigt, die von diesen COM Objekten geliefert werden.
Set wio = CreateObject("WinNTSystemInfo")
domainNameNeBIOS = wio.DomainName
WScript.Echo domainNETBios
The DNS Name der eigenen Domäne
Dieses Script findet den vollqualifizierten DNS-Namen der eigenen Domäne. Wir benutzen hier wieder das ADSystemInfo COM Objekt:
Set aio = CreateObject("ADSystemInfo")
domainDNS = aio.DomainDNSName
WScript.Echo domainDNS

