Skip to content

Daniels Tagesmeldungen

Kleine IT-Episoden & das wahre Leben

  • Startseite
  • About me…
    • Lebenslauf
    • Weiterbildung
  • 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, wo ich meine Erfahrungen aus der IT sowie dem damit verbundenen Berufsalltag dem Internet zur Verfügung stelle.

Zwischenzeitlich bringe ich auch noch die eine oder andere Gegebenheit aus meinem Offline-Leben zur digitalen Nutzung.

Follow us

  • rss
  • mail
  • twitter
  • instagram
  • xing
  • linkedin
  • mastodon

Kategorien

  • Allgemein (6)
  • Client (212)
    • Android (4)
    • Fedora (Linux) (4)
    • iOS (3)
    • Mac OS X (3)
    • Peripherie (4)
    • Ubuntu (Linux) (6)
    • Windows 10 (42)
    • Windows 11 (2)
    • Windows 7 (100)
    • Windows 8 (36)
    • Windows 8.1 (28)
    • Windows Mobile (2)
    • Windows Vista (65)
    • Windows XP (21)
  • Cloud (12)
    • Microsoft Azure (5)
    • Office 365 (7)
  • Fortbewegung (39)
    • Auto (13)
    • Bahn (13)
    • Beinarbeit (1)
    • Zweirad (12)
  • IT-Nachrichten (34)
  • Leben Beruf und Gesundheit (79)
    • Arbeitszimmer (2)
    • Audio (9)
    • Gedanken (17)
    • Kino (3)
    • Lebensmittel & Essen (5)
    • Lesestoff (3)
    • Sport (1)
  • Lehren & Lernen (44)
    • Konferenzen (1)
    • Präsentation (1)
    • Zertifizierung (42)
  • Programme (309)
    • Android-Apps (21)
    • Eigene Tools (11)
    • iOS-Apps (1)
    • Office (84)
    • Patchday+Updates (69)
    • Software (142)
    • Spiele (3)
    • Windows Phone-Apps (2)
  • Programmierung (79)
    • AutoIT (1)
    • KiXtart (1)
    • PHP (2)
    • Power Automate (1)
    • Powershell (49)
    • VB.NET (8)
    • VBA (10)
    • VBS (10)
  • Server (141)
    • Citrix XenServer (2)
    • Exchange Server (25)
    • Lync Server (1)
    • System Center (4)
    • Ubuntu Server (1)
    • Windows Home Server (2)
    • Windows Server (88)
    • Windows Server 2012 (45)
    • Windows Server 2016 (11)
    • Windows Server 2019 (3)
  • Telekommunikation (29)
    • Festnetz (3)
    • Internet (6)
    • Mobilfunk (20)
  • Verkauf & Verlosung (1)
  • Web-Installationen (32)
    • Joomla (4)
    • MediaWiki (9)
    • phpMyAdmin (1)
    • Piwik (4)
    • Wordpress (19)

Copyright © 2023 Daniels Tagesmeldungen.

Powered by PressBook WordPress theme