Printout Header
RSS Feed

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

Tweet