Öffentlicher Ordner per Script als Outlook Adressbuch
Hallo,
bin gerade dabei einen Kunden von Tobit David zu Online Exchange umzuziehen.
Sind ca. 25 Postfächer auf 50 Geräten (jeder 1 x Desktop PC / 1 x Notebook).
Mails und Kalender sind drüben ... hab nur ein Problem bei den Kontakten / Adressbücher.
Als Adressbuch habe ich einen öffentlichen Ordner erstellt und diesen MANUELL im Outlook als Adressbuch hinzugefügt.
Habe jetzt gesehen das der Kunde sich über die Jahre hinweg ca. 20 Adressbücher angelegt hat, welche halt nach Projekten, Organisationen etc. sortiert sind.
Das ganze als Kontaktgruppen zu lösen ist keine Option, da die Mailadressen nicht immer alle gleichzeitig angesprochen werden sollen.
Ich hab auch keine Lust an 50 Geräte zu laufen und dort jeweils bei 20 öffentlichen Ordnern "als Outlook Adressbuch anzeigen" anzuhaken.
So bin ich auf folgendes Script gestoßen, welches ich für EINEN Ordner auch schon erfolgreich getestet habe:
Nun wollte ich Fragen ob jemand einen Platzhalter/Variable kennt damit der Befehl für ALLE Ordner gilt, egal wie Sie benannt sind. Nicht nur für den expliziten "MeinKontaktOrdner". Hat natürlich auch den Hintergrund, das wenn das Sekretariat ein neues Adressbuch dort anlegen sollte, nicht das Script erneut angepasst werden müsste.
Wenn dann noch jemand nen Befehl kennt, der mir das ganze auch als "Favorit" hinzufügt (damit das Adressbuch auch bei "Personen" auftaucht) wäre das ganze komplett
Würde das Script dann einfach als Logon Script per GPO in der Domäne verteilen.
Vielen Dank.
bin gerade dabei einen Kunden von Tobit David zu Online Exchange umzuziehen.
Sind ca. 25 Postfächer auf 50 Geräten (jeder 1 x Desktop PC / 1 x Notebook).
Mails und Kalender sind drüben ... hab nur ein Problem bei den Kontakten / Adressbücher.
Als Adressbuch habe ich einen öffentlichen Ordner erstellt und diesen MANUELL im Outlook als Adressbuch hinzugefügt.
Habe jetzt gesehen das der Kunde sich über die Jahre hinweg ca. 20 Adressbücher angelegt hat, welche halt nach Projekten, Organisationen etc. sortiert sind.
Das ganze als Kontaktgruppen zu lösen ist keine Option, da die Mailadressen nicht immer alle gleichzeitig angesprochen werden sollen.
Ich hab auch keine Lust an 50 Geräte zu laufen und dort jeweils bei 20 öffentlichen Ordnern "als Outlook Adressbuch anzeigen" anzuhaken.
So bin ich auf folgendes Script gestoßen, welches ich für EINEN Ordner auch schon erfolgreich getestet habe:
(new-object -com "Outlook.Application").GetNamespace("MAPI").GetDefaultFolder(18).Folders.Item("MeinKontakteOrdner").ShowAsOutlookAB = $true
Nun wollte ich Fragen ob jemand einen Platzhalter/Variable kennt damit der Befehl für ALLE Ordner gilt, egal wie Sie benannt sind. Nicht nur für den expliziten "MeinKontaktOrdner". Hat natürlich auch den Hintergrund, das wenn das Sekretariat ein neues Adressbuch dort anlegen sollte, nicht das Script erneut angepasst werden müsste.
Wenn dann noch jemand nen Befehl kennt, der mir das ganze auch als "Favorit" hinzufügt (damit das Adressbuch auch bei "Personen" auftaucht) wäre das ganze komplett
Würde das Script dann einfach als Logon Script per GPO in der Domäne verteilen.
Vielen Dank.
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 7922884963
Url: https://administrator.de/contentid/7922884963
Ausgedruckt am: 24.11.2024 um 15:11 Uhr
13 Kommentare
Neuester Kommentar
Moin
Für alle Adressbücher der ersten Ebene
Oder für rekursiv für alle Kontakte-Ordner
Gruß siddius
Für alle Adressbücher der ersten Ebene
(new-object -com "Outlook.Application").GetNamespace("MAPI").GetDefaultFolder(18).Folders | ? DefaultItemType -eq 2 | %{
$_.ShowAsOutlookAB = $true
$_.AddToPFFavorites()
}
$root = (new-object -com "Outlook.Application").GetNamespace("MAPI").GetDefaultFolder(18)
$recurse = {
param($folder)
if ($folder.DefaultItemType -eq 2){
$folder.ShowAsOutlookAB = $true
$folder.AddToPFFavorites()
}
$folder.Folders | %{&$recurse $_}
}
&$recurse $root
Habe ich gerade noch oben hinzugefügt.
You're welcome. 🖖
Zufällig ne Ahnung woran das liegen könnte?
- Ordner schon in den Public Folder Favorites hinterlegt? Dann musst du vorher prüfen ob schon vorhanden und nur dann hinzufügen wenn nicht vorhanden.
- Fehlende Berechtigungen?
Die angemelden User am Client sind aber auch lokale Administratoren ...
Autsch, wieso macht man sowas?!Ist das ein 64 oder 32BIt Office?
Die verwendete PowerShell-Konsole sollte die gleiche Bitness haben wie das Outlook!
Wenn da also ein 32bit Office läuft und die PowerShell aber in 64bit läuft oder anders rum gibt es solche Probleme, weil dann das COM-Objekt nicht passt.
Klappt das mit Office 2021 LTS 64bit auf 10 Test-Clients ohne Probleme.
Du Funktion wird nach Vorschrift verwendet
https://learn.microsoft.com/de-de/office/vba/api/outlook.folder.addtopff ...
Scheint als hätte die Methode unter 64bit mal wieder einen Bug und funktioniert deswegen nicht überall fehlerfrei.
Sorry da wirst du dir dann eine andere Methode überlegen müssen.
Sorry da wirst du dir dann eine andere Methode überlegen müssen.
Ist wohl ein Bug., kann ich nix machen.