Exchange+Outlook:Besitzer einer Emailadresse finden (Benutzer, Gruppe, Öffentlicher Ordner)

Aus znilwiki
Wechseln zu: Navigation, Suche

Das nachfolgende Skript stammt von dieser Webseite:

http://www.faq-o-matic.net/2005/04/27/mailadresse-gezielt-suchen/

Author ist Nils Kaczenski, http://www.kaczenski.de/ der auch das bekannte José - Tool geschrieben hat. Das Skript wird hier einmal "gecached" sowie in einer Download-Version angeboten. Auf der Originalwebseite werden beim herauskopieren zudem die Zeilennummern mit kopiert.
Deshalb hier etwas einfacher.


Sie legen einen neuen Benutzer an - aber der bekommt nicht die Email-Adresse "Sport@znil.de" sondern "Sport1@znil.de"?
Wer verflixt noch mal hat denn die Adresse?

Laden Sie nachfolgendes Script herunter (Dateiendung .vbs) und starten Sie es:

Exchange-FindeEmail-001.png

Geben Sie ein Stichwort zur Adresse ein - hier sport'

Und so sieht das Ergebnis aus:

Exchange-FindeEmail-002.png

Bitte den Typ (Group, User, Public Folder) beachten! Bei Gruppen listet er auch noch alle Mitglieder auf


Download: AD-Mailadressen_suchen.vbs

'*****************************
' AD-Mailadressen_suchen.vbs
' Beschreibung
'
' Version: 1.1a
' Datum: 27.04.2005/23.8.2005
' Autor: Nils Kaczenski (Vorname at Nachname .de)
' Letzte Änderungen:
'
' Nils Kaczenski stellt dieses Skript ohne jede
' Gewährleistung zur Verfügung.
' Die Verwendung geschieht auf eigene Gefahr.
'
'*****************************
 
Option Explicit
Dim strSuchstring '
Dim strMail '
Dim arrMember '
Dim arrObjectClass '
Dim arrProxyAddresses '
Dim i '
Dim objConn '
Dim objExplorer '
Dim objRSAD '
Dim objRSlokal '
Dim strAusgabe '
Dim strConn '
Dim strMember '
Dim strObjectClass '
Dim strSQL '
Dim objRoot
Dim strDomain
 
Set objConn = CreateObject("ADODB.Connection")
Set objRSlokal = CreateObject("ADODB.Recordset")
 
strSuchstring = InputBox("Wonach wird in der Mailadresse gesucht?", "Mailadresse suchen")
  
' Domänenzugriff …
set objRoot = GetObject("LDAP://rootDSE")
strDomain = objRoot.Get("DefaultNamingContext")
 
' Datenbankzugriff …
strConn = "Provider=ADsDSOObject;"
objConn.Open strConn
 
' Zugriff auf die gesamte Tabelle
strSQL = "SELECT name,mailNickname,mail,proxyAddresses,member,objectClass " _
			& "FROM 'LDAP://" & strDomain & "' WHERE proxyAddresses='*" _
			& strSuchstring & "*'"
Set objRSAD = objConn.Execute(strSQL)
 
' lokales Recordset zur Anzeige definieren
objRSlokal.Fields.Append "Mailadresse", 202, 255
objRSlokal.Fields.Append "Name", 202, 255
objRSlokal.Fields.Append "Alias", 202, 255
objRSlokal.Fields.Append "Typ", 202, 255
objRSlokal.Fields.Append "Mitglieder", 202, 16384
 
objRSlokal.Open
 
Do Until objRSAD.EOF
	arrProxyAddresses = objRSAD("proxyAddresses")
	strMail = objRSAD("mail")
	If Not IsNull(objRSAD("member")) Then
		arrMember = objRSAD("member")
		strMember = Join(arrMember, "<br>")
	Else
		strMember = ""
	End If
	arrObjectClass = objRSAD("objectClass")
	strObjectClass = arrObjectClass(UBound(arrObjectClass))
	For i=0 To UBound(arrProxyAddresses)
		If (InStr(LCase(arrProxyAddresses(i)), LCase(strSuchstring)) <> 0 _
		AND LCase(Left(arrProxyAddresses(i),5)) = "smtp:") Then
			' Neuen Datensatz lokal einfügen
			objRSlokal.AddNew
			objRSlokal("Name") = objRSAD("name")
			objRSlokal("Alias") = objRSAD("mailNickname")
			objRSlokal("Typ") = strObjectClass
			objRSlokal("Mailadresse") = Mid(arrProxyAddresses(i),6)
			objRSlokal("Mitglieder") = strMember
			objRSlokal.Update
		End If
	Next
	objRSAD.MoveNext
Loop
 
If Not objRSlokal.EOF Then
	objRSlokal.Sort="Mailadresse"
	objRSlokal.MoveFirst
	strAusgabe = objRSlokal.GetString(2, -1, "</TD><TD>", "</TD></TR>" _
		& vbCrLf & "<TR><TD>", " ")
	strAusgabe = "<HTML><BODY style=""font-family:sans-serif;"">" _
		& "<H1>Mailadressen mit dem Inhalt " & strSuchstring & "</H1>" _
		& "<TABLE border=""1""><TR><TD>" _
		& strAusgabe & "</TD></TR></TABLE></BODY></HTML>"
Else
	strAusgabe = "<HTML><BODY style=""font-family:sans-serif;"">" _
		& "<p>Die Suche nach Mailadressen mit dem Inhalt " _
		& strSuchstring & " hatte kein Ergebnis.</p>" _
		& "</BODY></HTML>"
End If
 
Set objExplorer = CreateObject("InternetExplorer.Application")
objExplorer.Navigate "about:blank"
objExplorer.ToolBar = 0
objExplorer.StatusBar = 0
objExplorer.Width=500
objExplorer.Height = 400
objExplorer.Left = 0
objExplorer.Top = 0
objExplorer.Visible = 1
objExplorer.document.writeln(strAusgabe)


--Bernhard Linz 10:17, 24. Apr. 2012 (CEST)



Kommentar hinzufügen
znilwiki freut sich über alle Kommentare. Sofern du nicht anonym bleiben möchtest, registriere dich bitte oder melde dich an.