Per VBA Adressbücher in Öffentlichen Ordnern als Adressbuch im Outlook 2003 registrieren
Hallo zusammen,
wer kennt das nicht...man hat einige 100 oder sogar 1000 Benutzer in einem Netzwerk und immer mal wieder muss ein Outlookprofil gelöscht werden und neu angelegt werden. Wir haben z.B. etliche Adressbücher über Öffentliche Ordner realsiert, da mehrere Mitarbeiter die selben Kontakte haben. Wir haben uns dazu einen kl. Automatismus geschrieben.
Und zwar basiert das Ganze eigentlich VBS (VBScripting) das bei uns unter WindowsXP Professional (SP3) und Exchange 2003 (SP2) ohne Probleme läuft:
In Zeile 3 gebt ihr einfach den kompletten Verzeichnispfad nacheinander zum Ziel an. Wichtig dabei ist, dass dieses Verzeichnis in den Öffentlichen Ordner auch als Typ "Adressbuch" angelegt worden ist.
In Zeile 5 wird eben festgelegt, ob das Adressbuch im Outlook des Benutzer angezeigt werden soll. Diese Option wird interessant, wenn sich die Struktur im Öffentlichen Ordner ändern soll. Dann muss vor dem Veränderung der Strutkur der Eintag entfernt werden.
Wir haben das Ganze über ein Anmeldescript (Batch) geregelt und haben für alle Öffentlichen (Adressbuch)Ordner ein solches Script auf dem NETLOGON - Verzeichnis der DCs liegen. Die Batchdatei schaut erstmal nach, ob für Outlook bereits ein Profil existiert. Falls dies der Fall ist wird das Script beendet. Da eigentlich alle Einstellungen getätigt worden sind. Anderen Falls wird über eine PRT-Datei das Outlookprofil erstellt und konfiguriert. Danach wird an Hand von der AD-Gruppenzugehörigkeit (ifmember.exe) die entsprechenden VBS-Dateien nacheinander einzeln gestartet. Somit werden alle Fälle abgedeckt.
Noch ein Tipp: Neue Struktur parallel aufbauen und neue VB-Scripte mit den neuen Pfaden erstellen und das Anmeldescript ergänzen bzw. die Abfragen eben anders gestalten. Somit wird zurest der alte Eintag entfernt und danach das neue Adressbuch eingebunden. Somit merken die Mitarbeiter nur, dass der Outlookstart ein wenig andauert.
Grüße,
Dani
wer kennt das nicht...man hat einige 100 oder sogar 1000 Benutzer in einem Netzwerk und immer mal wieder muss ein Outlookprofil gelöscht werden und neu angelegt werden. Wir haben z.B. etliche Adressbücher über Öffentliche Ordner realsiert, da mehrere Mitarbeiter die selben Kontakte haben. Wir haben uns dazu einen kl. Automatismus geschrieben.
Und zwar basiert das Ganze eigentlich VBS (VBScripting) das bei uns unter WindowsXP Professional (SP3) und Exchange 2003 (SP2) ohne Probleme läuft:
Dim objOutlook, objOeffordner, objItems
Set objOutlook = CreateObject("Outlook.Application")
Set objOeffordner = objOutlook .GetNamespace("MAPI").Folders.Item("Öffentliche Ordner").Folders.Item("Alle Öffentlichen Ordner").Folders.Item("Kontakte").Folders.Item("RZ FRA")
Set objItems = objOeffordner.Items
objOeffordner.showAsOutlookAB = True
In Zeile 5 wird eben festgelegt, ob das Adressbuch im Outlook des Benutzer angezeigt werden soll. Diese Option wird interessant, wenn sich die Struktur im Öffentlichen Ordner ändern soll. Dann muss vor dem Veränderung der Strutkur der Eintag entfernt werden.
Wir haben das Ganze über ein Anmeldescript (Batch) geregelt und haben für alle Öffentlichen (Adressbuch)Ordner ein solches Script auf dem NETLOGON - Verzeichnis der DCs liegen. Die Batchdatei schaut erstmal nach, ob für Outlook bereits ein Profil existiert. Falls dies der Fall ist wird das Script beendet. Da eigentlich alle Einstellungen getätigt worden sind. Anderen Falls wird über eine PRT-Datei das Outlookprofil erstellt und konfiguriert. Danach wird an Hand von der AD-Gruppenzugehörigkeit (ifmember.exe) die entsprechenden VBS-Dateien nacheinander einzeln gestartet. Somit werden alle Fälle abgedeckt.
Noch ein Tipp: Neue Struktur parallel aufbauen und neue VB-Scripte mit den neuen Pfaden erstellen und das Anmeldescript ergänzen bzw. die Abfragen eben anders gestalten. Somit wird zurest der alte Eintag entfernt und danach das neue Adressbuch eingebunden. Somit merken die Mitarbeiter nur, dass der Outlookstart ein wenig andauert.
Grüße,
Dani
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 124248
Url: https://administrator.de/contentid/124248
Ausgedruckt am: 22.11.2024 um 16:11 Uhr
5 Kommentare
Neuester Kommentar
Ich hab mal ne kleine Frage als was deklarierst du die Objekte in Zeile 1???
Falls mich meine VBA-Kenntnisse nicht ganz verlassen haben dürfte die Dekleration mehrere Werte in einer Zeile eigentlich nicht mehr funktionieren.
Ich will dein Programm nicht iwi demontieren aber meine VBA-Kentnisse sind etwas, naja eingerostet, und da würd mich das schon mal interessieren.
Aber ansonsten nettes Script ich glaube das könnte man bei mir an der Schule auch gut gebrauchen.
mfg
duffman521
Falls mich meine VBA-Kenntnisse nicht ganz verlassen haben dürfte die Dekleration mehrere Werte in einer Zeile eigentlich nicht mehr funktionieren.
Ich will dein Programm nicht iwi demontieren aber meine VBA-Kentnisse sind etwas, naja eingerostet, und da würd mich das schon mal interessieren.
Aber ansonsten nettes Script ich glaube das könnte man bei mir an der Schule auch gut gebrauchen.
mfg
duffman521
Hallo,
hat jemand vielleicht ein aktuelleres VBA Script für Outlook 2013 oder 2016. Die automatische Verbindung eines Adressbuches aus dem öffentlichen Ordner wäre eine sehr nützliche Funktion.
Habe folgendes versucht, direkt im gestarteten Outlook 2016 und ALT+F11:
Dim objOutlook, objOeffordner, objItems
Set objOutlook = CreateObject("Outlook.Application")
Set objOeffordner = objOutlook .GetNamespace("MAPI").Folders.Item("Öffentliche Ordner").Folders.Item("Alle Öffentlichen Ordner").Folders.Item("Kontakte").Folders.Item("Technik-Adressbuch")
Set objItems = objOeffordner.Items
objOeffordner.showAsOutlookAB = True
Leider ohne Erfolg.
Danke für Eure Unterstützung
Beste Grüsse MisterL
hat jemand vielleicht ein aktuelleres VBA Script für Outlook 2013 oder 2016. Die automatische Verbindung eines Adressbuches aus dem öffentlichen Ordner wäre eine sehr nützliche Funktion.
Habe folgendes versucht, direkt im gestarteten Outlook 2016 und ALT+F11:
Dim objOutlook, objOeffordner, objItems
Set objOutlook = CreateObject("Outlook.Application")
Set objOeffordner = objOutlook .GetNamespace("MAPI").Folders.Item("Öffentliche Ordner").Folders.Item("Alle Öffentlichen Ordner").Folders.Item("Kontakte").Folders.Item("Technik-Adressbuch")
Set objItems = objOeffordner.Items
objOeffordner.showAsOutlookAB = True
Leider ohne Erfolg.
Danke für Eure Unterstützung
Beste Grüsse MisterL