Printout Header
RSS Feed

How to detect the Name of the own Active Directory Domain


When you script in Active Directory environments, you will often need the name of the own domain, meaning the domain where the user who runs th script is member of. This could be an LDAP path name, an (oldschool) NetBIOS name or the full qualified DNS domain name.


The LDAP path (=distinguished name) of the own domain


This script finds the LDAP path name (=the distinguishd name) of the own domain.

Set rootDSE = GetObject("LDAP://rootDSE") domainDN = rootDSE.Get("defaultNamingContext") WScript.Echo domainDN

The NetBIOS name of the own domain


This script finds the NetBIOS short name of the own domain. We use nothing but LDAP requests here:

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

The script version just showed is obviously quite complicated - it is here just for demonstration purposes. A shorter approach uses the ADSystemInfo COM object:

Set aio = CreateObject("ADSystemInfo") domainNETBios = aio.DomainShortName WScript.Echo domainNETBios

You can also use the WinNTSystemInfo COM object for this. Whether you choose the WinNTSystemInfo or ADSystemInfo depends on the other information you might want to read from these COM objects.

Set wio = CreateObject("WinNTSystemInfo") domainNameNeBIOS = wio.DomainName WScript.Echo domainNETBios

The DNS name of the own domain


This script finds the full qualified DNS name of the own domain. We use the ADSystemInfo COM object here again:

Set aio = CreateObject("ADSystemInfo") domainDNS = aio.DomainDNSName WScript.Echo domainDNS
Tweet