Skip to content

Daniels Tagesmeldungen

Kleine IT-Episoden, der Diabetes & das wahre Leben

  • Startseite
  • About me…
    • Lebenslauf
    • Weiterbildung
  • Diabetes melitus
    • Diabetes melitus – Definition/Typen
    • Diabetes melitus – Podcasts
    • Diabetes Typ-2 – Erläuterung
    • Medikament – Forxiga (Dapagliflozin)
    • Medikament – Eylea (Aflibercept)
    • Medikament – Lucentis (Ranibizumab )
    • Medikament – Metformin
  • Disclaimer
  • Toggle search form

Exchange-Kontakte per VBS importieren

Posted on 23. Juni 201120. Juni 2012 By Daniel Lensing Keine Kommentare zu Exchange-Kontakte per VBS importieren

Aufgrund einer Anforderung eines Kundenauftrags mussten bei über 600 Benutzern Mail-Weiterleitungen eingerichtet werden, damit die Nachrichten im alten sowie im neuen Mail-System verarbeitet werden. Aus diesem Grund mussten in der alten Umgebung eine entsprechende Anzahl von Mail-Kontakten angelegt werden. Da dieses manuell recht langwierig gewesen wäre, habe ich das folgende Skript von „Dani“ gefunden. Dieses muss einfach in eine VBS-Datei kopiert werden:

'##########################################################################
'Autor: Dani
'Aufgabe: Aus einer Exceltabelle im Exchange externe Kontakt erstellen
 
'Version:
'0.1 - Namensgebung einheitlich dargestellt
'0.2 - Dialogbox zur Abfrage der Exceltabelle eingebaut
'0.3 - Überprüft, ob Kontakt schon vorhanden ist
'0.4 - In der Abfrage, ob die E-Mailadresse schon AD vorhanden ist, war die Abfrage falsch.
 
'Variablen
'##########################################################################
Dim objobjExcel, objOpenDialog, objOU, objContact, objRecip
Dim strVorname, strNachname, strEmail, strDesc
 
' Dialogbox - Auswahl der Exceltabelle, die eingelesen werden soll
'##########################################################################
do
Set objOpenDialog = CreateObject("SAFRCFileDlg.FileOpen")
intReturn = objOpenDialog.OpenFileOpenDlg
 
If intReturn Then
Else
WScript.Echo "Script wird beendet!"
WScript.Quit
End If
 
Loop While objOpenDialog.FileName = ""
 
'Die entsprechende Datei wird geöffent
'##########################################################################
Set objExcel = WScript.CreateObject("Excel.Application")
objExcel.Workbooks.Open objOpenDialog.FileName
 
'Zeilennummer der ersten Datenzeile
i = 2
Do While objExcel.Worksheets(1).Cells(i,3).Value <> ""
strVorname  = objExcel.Worksheets(1).Cells(i,1).Value
strNachname = objExcel.Worksheets(1).Cells(i,2).Value
strEmail  = objExcel.Worksheets(1).Cells(i,3).Value
strDesc  = objExcel.Worksheets(1).Cells(i,4).Value
 
' Organisationseinheit, in der ide Kontake erzeugt werden sollen
Set objOu = GetObject("<a href="ldap://ou=Kontakte,dc=familie-wydler,dc=local">LDAP://ou=Kontakte,dc=domain,dc=local</a>")
 
'Überprüfen, ob eine Kontakt schon vorhanden ist und setzt dem entsprechend die Variable
' True - E-Mailadresse existiert bereits
' False - E-Mailadresse nicht vorhanden
emailExists = False
 
For Each adcontact In objOu
If LCase(CStr(adcontact.targetAddress)) = LCase(CStr("SMTP:"&amp; strEmail)) Then
emailExists = True
Exit For
End If
Next
 
'Erzeugt die einzelnen Kontakte
If Not emailExists Then
 
'Erzeugt die einzelnen Kontakte
Set objContact = objOu.Create("contact", "cn="&amp; strVorname &amp;" "&amp; strNachname)
objContact.mailNickName = strVorname &amp;" "&amp; strNachname
objContact.displayName = strVorname &amp;" "&amp; strNachname
objContact.targetAddress = strEmail
objContact.givenName = strVorname
objContact.sn = strNachname
 
'Setzt nur die Beschreibung, wenn das Excelfeld nicht leer ist
If strDesc &lt;&gt; "" Then
objContact.description= strDesc
End If
 
'Hinterlegt im Reiter "E-Mail Adressen" der Benutzereigenschaften die E-Mailadresse
Set objRecip = objContact
objRecip.MailEnable "SMTP:" &amp; strEmail
objContact.SetInfo
Else
WScript.echo "Doppelter Kontakt - "&amp; strVorname &amp;", "&amp; strNachname &amp;"!"
End If
 
'Nächste Excelzeile
i = i + 1
Loop
 
'Setzt das "gespeichert" - Flag. Somit entfällt die Abfrage beim Beenden
objExcel.ActiveWorkbook.Saved = True
 
'Exceltabelle schließen / beenden
objExcel.Application.Quit
 
'Script beenden
'##########################################################################
WScript.Echo "Kontakte erfolgreich angelegt!"
WScript.Quit

Quelle: http://www.administrator.de/index.php?content=59212

Nun muss man im Skript nur die OU angeben, in der die Kontakte erstellt werden sollen und die Exceltabelle vorbereiten nach dem Design:

  • Spalte 1: Vorname
  • Spalte 2: Nachname
  • Spalte 3: E-Mail-Adresse
  • Spalte 4: Beschreibung (falls benötigt)

Die Tabelle sollte allerdings dieses nicht als ÜBerschriften haben, da diese sonst auch als Kontakt angelegt werden.

Exchange Server, VBS

Beitrags-Navigation

Previous Post: AHCI bei XP-Installation und M58p deaktivieren
Next Post: Android-Widgets: Schalten auf dem Homescreen

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Daniel Lensing

Ich betreibe diesen Blog, bei dem ich meine Erfahrungen aus der IT & dem Berufsalltag sowie dem Wahnsinn des Lebens mit Höhen und Tiefen. Darunter meine „Erlebnisreise“ zum Planeten „Diabetes mellitus Typ-2“.

Translate:

Follow us

Kategorien

  • Client (229)
    • Android (7)
    • Fedora (Linux) (5)
    • iOS (5)
    • Mac OS X (5)
    • Peripherie (5)
    • Ubuntu (Linux) (8)
    • Windows 10 (54)
    • Windows 11 (15)
    • Windows 7 (100)
    • Windows 8 (36)
    • Windows 8.1 (28)
    • Windows Mobile (2)
    • Windows Vista (65)
    • Windows XP (21)
  • Cloud (15)
    • Amazon AWS (1)
    • Microsoft Azure (7)
    • Office 365 (9)
  • Fortbewegung (55)
    • Auto (17)
    • Bahn (17)
    • Beinarbeit (5)
    • Flugzeug (3)
    • Zweirad (14)
  • IT-Nachrichten (37)
  • Leben Beruf und Gesundheit (190)
    • #t2dhero (46)
    • Arbeitszimmer (26)
    • Audio (19)
    • Film / Kino (7)
    • Gedanken (75)
    • Gesundheit (29)
    • Internet (4)
    • Lebensmittel & Essen (21)
    • Lesestoff (18)
    • Sport (10)
    • Veranstaltung (3)
  • Lehren & Lernen (48)
    • Forschung (1)
    • Konferenzen (3)
    • Präsentation (3)
    • Zertifizierung (42)
  • Programme (318)
    • Android-Apps (27)
    • Eigene Tools (11)
    • iOS-Apps (6)
    • Office (85)
    • Patchday+Updates (71)
    • Software (145)
    • Spiele (3)
    • Windows Phone-Apps (2)
  • Programmierung (88)
    • AutoIT (1)
    • KiXtart (1)
    • PHP (3)
    • Power Automate (1)
    • Powershell (57)
    • VB.NET (8)
    • VBA (10)
    • VBS (10)
  • Server (156)
    • Citrix XenServer (2)
    • Exchange Server (26)
    • Lync Server (1)
    • System Center (4)
    • Ubuntu Server (2)
    • Windows Home Server (2)
    • Windows Server (91)
    • Windows Server 2012 (45)
    • Windows Server 2016 (15)
    • Windows Server 2019 (15)
    • Windows Server 2022 (12)
    • Windows Server 2025 (5)
  • Telekommunikation (38)
    • Festnetz (3)
    • Internet (13)
    • Mobilfunk (23)
  • Verkauf & Verlosung (1)
  • Web-Installationen (36)
    • Joomla (4)
    • Mastodon (1)
    • MediaWiki (9)
    • phpMyAdmin (2)
    • Piwik (4)
    • Wordpress (20)
Mastodon

Copyright © 2025 Daniels Tagesmeldungen.

Powered by PressBook WordPress theme