Inhaltsverzeichnis > Erweiterter Umgang mit AD Objekten > LDAP Search Werkstatt > Alle versteckten Exchange-Empfänger anzeigen
Alle versteckten Exchange-Empfänger anzeigen
Wir benutzen für diese Suche das Active Directory Attribut msExchHideFromAddressLists, dessen Wert bei versteckten Exchange-Empfängern auf TRUE gesetzt ist. In Active Directory Umgebungen, in denen gar kein Exchange installiert ist, ist dieses Attribut nicht Teil des Verzeichnisschemas.
Zur allgemeinen Erläuterung von LDAP-Suchvorgängen lesen Sie das SelfADSI-Kapitel
"LDAP Objekte im Verzeichnis suchen".
Es gibt bei Exchange unter Umständen eine ganze Reihe versteckte Ordner in der Public Folder Datenbank (z.B. für Frei/Belegt-Zeiten, Offline Adressbücher usw.). Diese Ordner sollen bei den Suchergebnissen nicht mit angezeigt werden, deshalb passen wir den LDAP Filter entsprechend an.
Alle versteckten Empänger der eigenen Domäne finden
Dieses Script findet alle versteckten Exchange Empfänger der Domäne, in der der aktuell angemeldete Benutzer Mitglied ist:
ldapFilter = "(&(msExchHideFromAddressLists=TRUE)(!(objectClass=publicFolder)))"
Set rootDSE = GetObject("LDAP://rootDSE")
domainDN = rootDSE.Get("defaultNamingContext")
Set ado = CreateObject("ADODB.Connection")
ado.Provider = "ADSDSOObject"
ado.Open "ADSearch"
Set objectList = ado.Execute("<LDAP://" & domainDN & ">;" & ldapFilter & ";distinguishedName,mail;subtree")
While Not objectList.EOF
recipientDN = objectList.Fields("distinguishedName")
recipientMail = objectList.Fields("mail")
WScript.Echo recipientDN & ";" & recipientMail
objectList.MoveNext
Wend
Alle versteckten Empänger in irgendeiner Domäne/OU finden
Dieses Script findet alle versteckten Exchange Empfänger in der angegebenen Domäne oder OU. Verwenden Sie hier den passenden LDAP Pfad für die von Ihnen gewünschten Domänen bzw. OU. Außerdem können Sie hier noch andere Anmeldedaten für den Suchvorgang (Benutzernamen und Passwort) angeben:
searchDN = "DC=example,DC=com" 'den Suchcontainer / die Domäne angeben
serverName = "192.168.0.66" 'den Namen/die Adresse des Domänencontrollers angeben
userName = InputBox("Enter user name","Credentials") 'möglich wäre auch einen statischen Username, z.B: "EXAMPLE\userXYZ"
password = InputBox("Enter password","Credentials") 'möglich wäre auch ein statisches PAsswort, z.B. "P@ssw0rd"
ldapFilter = "(&(msExchHideFromAddressLists=TRUE)(!(objectClass=publicFolder)))"
Set ado = CreateObject("ADODB.Connection")
ado.Provider = "ADSDSOObject"
ado.Properties("User ID") = userName
ado.Properties("Password") = password
ado.Properties("Encrypt Password") = True
ado.Open "ADSearch"
Set objectList = ado.Execute("<LDAP://" & serverName & "/" & searchDN & ">;" & ldapFilter & ";distinguishedName,mail;subtree")
While Not objectList.EOF
recipientDN = objectList.Fields("distinguishedName")
recipientMail = objectList.Fields("mail")
WScript.Echo recipientDN & ";" & recipientMail
objectList.MoveNext
Wend
Alle versteckten Empänger im eigenen Forest finden
Dieses Script findet alle versteckten Exchange Empfänger in dem Active Directory Forest, in der der aktuell angemeldete Benutzer Mitglied ist.
ldapFilter = "(&(msExchHideFromAddressLists=TRUE)(!(objectClass=publicFolder)))"
Set aoi = CreateObject("ADSystemInfo") 'die Forest Suchbasis ermitteln
gcBase = aoi.ForestDNSName
Set ado = CreateObject("ADODB.Connection")
ado.Provider = "ADSDSOObject"
ado.Open "ADSearch"
Set objectList = ado.Execute("<GC://" & gcBase & ">;" & ldapFilter & ";distinguishedName,mail;subtree")
While Not objectList.EOF
recipientDN = objectList.Fields("distinguishedName")
recipientMail = objectList.Fields("mail")
WScript.Echo recipientDN & ";" & recipientMail
objectList.MoveNext
Wend