Exchange 2013: Trennen von Adresslisten (Adressbuchrichtlinien)

Mittels Adressbuchrichtlinien können Benutzern angepasste Adressbücher präsentiert werden. Dies kann nützlich sein wenn man in einer Exchange Organisation mehrere Unternehmen aufnehmen möchte, aber nicht will das Benutzer aus FIrma A alle Benutzer aus Firma B sehen können. Auch bei mehreren Standorten können Adressbuchrichtlinien und angepasste Adressbücher Sinn machen.

Nehmen wir also mal an wir haben 2 Firmen aber nur einen Exchange Server. Die Firmen heißen „FrankysWeb“ und „WebFranky“, jede Firma hat Benutzer und Verteilerlisten:

image

Ohne Adressbuchrichtlinien sieht das Adressbuch in etwa so aus:

image

Jeder Benutzer kann alle Postfächer sehen und auch weitere Details, wie Foto, Adresse, Telefonnummer einsehen, wenn die Informationen gepflegt sind.Aus Sicherheits- oder aus Gründen der Übersichtlichkeit, können nun seperate Adressbücher generiert werden.

Um die Adresslisten zu Trennen werden zuerst Adresslisten für die beiden Firmen angelegt. in diesem Beispiel lege ich also 6 Adresslisten an (FW Benutzer, FW Verteiler, FW Raeume, WF Benutzer, WF Raueme und WF Verteiler). Die Adresslisten werden wie in dem Screenshot zu sehen auf die jeweiligen OUs gefiltert. Hier das Beispiel für die Liste „FW Benutzer“:

image

und hier für WF Verteiler:

image

Je nach Bedarf  lassen sich natürlich weitere Listen anlegen.

Als nächstes wird eine neue Globale Adressliste erzeugt, das funktioniert allerdings nur mit der Shell:

New-GlobalAddressList "FW GAL" -RecipientContainer "frankysweb.local/FrankysWeb" -IncludedRecipients AllRecipients
New-GlobalAddressList "WF GAL" -RecipientContainer "frankysweb.local/WebFranky"-IncludedRecipients AllRecipients

image

Jetzt fehlen noch die Offline Adressbücher:

New-OfflineAddressBook "FW OAB" -AddressLists "FW GAL"
New-OfflineAddressBook "WF OAB" -AddressLists "WF GAL"

image

Jetzt kann die Adressbuchrichtlinie erzeugt werden. Der Richtlinie werden die Adresslisten zugewiesen die sie beinhalten soll.

New-AddressBookPolicy -Name "FW ABP" -AddressLists "FW Benutzer","FW Verteiler" -OfflineAddressBook "\FW OAB" -GlobalAddressList "\FW GAL" -RoomList "\FW Raeume"
New-AddressBookPolicy -Name "WF ABP" -AddressLists "WF Benutzer","WF Verteiler" -OfflineAddressBook "\WF OAB" -GlobalAddressList "\WF GAL" -RoomList "\WF Raeume"

image

und zu guter Letzt müssen nur noch die Adressrichtlinien an die Postfächer zugewiesen werden.

Get-Mailbox -OrganizationalUnit "frankysweb.local/Frankysweb" | Set-Mailbox -AddressBookPolicy "FW ABP"
Get-Mailbox -OrganizationalUnit "frankysweb.local/WebFranky" | Set-Mailbox -AddressBookPolicy "WF ABP"

image

Jetzt haben wir zwei von einander getrennte Firmen, die jeweils nur Ihre eigenen Adresslisten sehen:

Adressbuchrichtlinien

Auf diese Art lässt sich auch Ordnung in die Adressbücher bringen, zum Beispiel bei mehreren Standort. Man könnte die Adressbücher so konfigurieren das Benutzer nur Postfächer und Verteiler an Ihrem Standort und die Postfächer der Zentrale sehen, aber nicht Adressbücher aus anderen Standorten.

38 thoughts on “Exchange 2013: Trennen von Adresslisten (Adressbuchrichtlinien)”

  1. Ich glaube fast, zu viel Nachtarbeit ist nicht wirklich gut… :)

    Hier nochmals, diesmal aber richtig:

    – „domain“ Benutzer, Benutzer mit Exchange-Postfächern + Regel auf OU

    New-AddressList -Name „Kundendomain Benutzer“ -IncludedRecipients MailboxUsers -RecipientContainer Kundendomain.com/KundenOU

    – „domain“ Raeume, Ressourcenpostfächer + Regel auf OU

    New-AddressList -Name „Kundendomain Raeume“ -IncludedRecipients Resources -RecipientContainer Kundendomain.com/KundenOU

    – „domain“ Verteiler, E-Mail-aktivierte Gruppen + Regel auf OU

    New-AddressList -Name „Kundendomain Verteiler“ -IncludedRecipients MailGroups -RecipientContainer Kundendomain.com/KundenOU

    So, liebe Grüsse und gute Nacht

    Reply
  2. Hier die Lösung um die genannten Adresslisten per Skript anzulegen:

    New-AddressList -Name „Kundendomain Benutzer“ -IncludedRecipients MailboxUsers -Container maildomain.com/Kundendomain.com

    New-AddressList -Name „Kundendomain Raeume“ -IncludedRecipients Resources -Container maildomain.com/Kundendomain.com

    New-AddressList -Name „Kundendomain Vertailer“ -IncludedRecipients MailGroups -RecipientContainer maildomain.com/Kundendomain.com

    Liebe Grüsse

    Reply
  3. Hallo zusammen

    Gibt es eine Möglichkeit das erstellen der „WF Verteiler“ über einen Skript zu automatisieren?

    Das habe ich für die Adressliste „Benutzer“:

    New-AddressList -Name „Kundendomain Benutzer“ -IncludedRecipients MailboxUsers -Container maildomain.com/kundendomain.com

    Ich stell mir das etwa so vor:

    New-AddressList -Name „Kundendomain Verteiler“ -IncludedRecipients ?? -Container maildomain.com/kundendomain.com

    Was setze ich ein bei -IncludedRecipients ein wenn ich „E-Mail-aktivierte Gruppen“ auswählen möchte? (wie oben im Beispiel in der EMC)

    Reply
  4. Hallo zusammen, super Anleitung, vielen Dank!

    Nun habe ich aber in beiden GAL’s die gleichen User drin. Hab gedacht, vielleicht hätte ich irgendwo einen Fehler gemacht und habe alles nochmals gelöscht und neu angelegt. Leider aber das gleiche Verhalten.

    Hat jemand eine Idee?

    Liebe Grüsse

    Reply
  5. Hallo,
    danke für die Anleitung. Die neuen Listen werden angezeigt aber leider auch immer noch die alten (Globales Adressbuch samt Inhalt usw). Jemand eine Idee an was das liegen könnte?
    Danke.

    Reply
  6. Kann man einzelne öffentliche Ordner auch zu Adressbuchlisten hinzufügen? Das Problem ist, auch wenn ich einen neuen öffentlichen Ordner die Berechtigugen so anpassen, dass nur Mitglieder eines Adressbuches auch denn Zugriff auf diesen öffentliche Ordner haben, erhalten diese leider im Outlook eine Meldung: (Konfigurieren von XXX_PublicFolder@domain.ch-Servereinstellungen für diese Website zulassen? Das Konto wurde für die EInstellungen auf diese Website umgeleitet. Sie sollten nur Einstellungen aus Quellen zulassen, die Sie kennen und denen Sie vertrauen.). Diese Meldung kann dann mit (Zukünftig nicht mehr zu dieser Website fragen) weggeklickt bzw. zugelassen werden. Wirkt halt für Mitglieder einenes anderen Adressbuches welche nichts mit der anderen Domain zu tun haben etwas unprofessionel.

    Reply
  7. Vielen Dank für die ausführliche Anleitung.
    Ich habe nur ein Problem:
    Wenn ich Gruppen anlege, die Mitglieder aus beiden Standorten enthalten sehe ich am jeweiligen Standort nur die dortigen Mitglieder.
    Gibt es da einen Trick?

    Reply
  8. Bei mir funktioniert es nicht Im Addressbuch sind noch Alle Benutzer und Alle Kontakte sichtbar und ich erkenn den Fehler nicht. Bin es schon 2 mal durchgegangen.

    Reply
  9. Bei WF Verteiler werden da nicht alle Verteiler dann angezeigt.

    Da ich in der Gruppe Verteiler mehre Einträge habe nicht nur FW Verteiler.

    Muss ich die im AD dann selbst nochmal aufsplitten.

    Reply
  10. Hier ist mein Script dazu: (Einfach als xadl.ps1 speichern!)

    $Names = @( „OU1“ , „OU2“ , „OU3“ )

    echo „entferne AddressBookPolicy aus MailBox“
    foreach ( $Name in $Names ) { Get-MailBox -OrganizationalUnit „zoomsoft.lan/$Name“ | where AddressBookPolicy -ne $null | Set-Mailbox -AddressBookPolicy $null }
    echo „entferne AddressBookPolicy“
    foreach ( $Name in $Names ) { if( Get-AddressBookPolicy | where Name -eq „$Name ABP“ ) { Remove-AddressBookPolicy „$Name ABP“ -Confirm:$false } }
    echo „entferne OfflineAddressBook“
    foreach ( $Name in $Names ) { if( Get-OfflineAddressBook | where Name -eq „$Name OAB“ ) { Remove-OfflineAddressBook „$Name OAB“ -Confirm:$false } }
    echo „entferne GlobalAddressList“
    foreach ( $Name in $Names ) { if( Get-GlobalAddressList | where Name -eq „$Name GAL“ ) { Remove-GlobalAddressList „$Name GAL“ -Confirm:$false } }
    echo „entferne AddressList“
    foreach ( $Name in $Names ) { if( Get-AddressList | where Name -eq „$Name Adressliste“ ) { Remove-AddressList -Identity „$Name Adressliste“ -Confirm:$false } }
    foreach ( $Name in $Names ) { if( Get-AddressList | where Name -eq „$Name Raumliste“ ) { Remove-AddressList -Identity „$Name Raumliste“ -Confirm:$false } }

    cls
    echo „AddressList“
    foreach ( $Name in $Names ) { New-AddressList -Name „$Name Adressliste“ -RecipientContainer „zoomsoft.lan/$Name“ -IncludedRecipients „AllRecipients“ ; Update-AddressList „$Name Adressliste“ }

    cls
    echo „AddressList“
    foreach ( $Name in $Names ) { New-AddressList -Name „$Name Raumliste“ -RecipientContainer „zoomsoft.lan/$Name“ -RecipientFilter { ((Alias -ne $null) -and (((RecipientDisplayType -eq ‚ConferenceRoomMailbox‘) -or (RecipientDisplayType -eq ‚SyncedConferenceRoomMailbox‘)))) } ; Update-AddressList „$Name Raumliste“ }

    cls
    echo „GlobalAddressList“
    foreach ( $Name in $Names ) { New-GlobalAddressList -Name „$Name GAL“ -RecipientContainer „zoomsoft.lan/$Name“ -IncludedRecipients „AllRecipients“ ; Update-GlobalAddressList „$Name GAL“ }

    cls
    echo „OfflineAddressBook“
    foreach ( $Name in $Names ) { New-OfflineAddressBook -Name „$Name OAB“ -AddressLists „$Name GAL“ ; Update-OfflineAddressBook „$Name OAB“ }

    cls
    echo „AddressBookPolicy“
    foreach ( $Name in $Names ) { New-AddressBookPolicy -Name „$Name ABP“ -AddressLists „$name Adressliste“ -OfflineAddressBook „$Name OAB“ -GlobalAddressList „$Name GAL“ -RoomList „$Name Raumliste“ }

    cls
    echo „Set Mailbox“
    foreach ( $Name in $Names ) { Get-MailBox -OrganizationalUnit „zoomsoft.lan/$Name“ | Set-Mailbox -AddressBookPolicy „$Name ABP“ }

    cls
    Get-Mailbox -RecipientTypeDetails UserMailbox | ft Name , AddressBookPolicy

    Reply
  11. Habe es ähnlich, jedoch wirkt der RecipientContainer der GAL nicht.

    AD:
    Firma
    -User
    –1
    –2
    –3

    Recipientcontainer ist entsprechend auf Domäne\Firma\User\3.
    Wenn ich mir nun die Vorschau der GAL anschaue sind jedoch auch Benutzer aus 1 & 2 gelistet.
    Habe ich einen denkfehler?

    Reply
  12. Bei den Offline-Adressbücher-Commands ist ein Fehler in der ersten Zeile:

    New-OfflineAddressBook „FW OAB“ -AddressLists „WF GAL“ <–hier gehört FW GAL
    New-OfflineAddressBook "WF OAB" -AddressLists "WF GAL"

    Sonst super Tutorial!!

    Reply
  13. Hallo Frank
    Wir haben diese Konfiguration auf einem Exchange Server 2013 schon länger im Einsatz und funktioniert einwandfrei. Nun möchte jedoch ein Kunde sein Hosted Exchange Konto auch mit Mac Outlook 2011 betreiben. Nun ist das Problem, dass nur das globale Adressbuch angezeigt wird und dieses natürlich korrekterweise leer ist. Folge Dessen können bspw. keine Kalender geöffnet und angezeigt werden. Gibt es hierzu ev. eine Lösung, wie man dies beheben kann?

    Vielen Dank und LG Reto

    Reply
  14. Wie sieht es aus, wenn ich über die Verwaltungsgruppen einen Verantwortlichen definieren möchte, der sein eigenes Unternehmen verwaltet? Ich kann einen User definieren und auf eine/seine OU mit Schreibrechten beschränken. Er sieht jedoch auch alle anderen Teilnehmer auf dem Exchange, wenn auch nur lesend. Kann ich ihm irgendwie das Leserecht ebenfalls entziehen, sodass es für ihn aussieht als wäre er mit seinen Kollegen alleine auf dem Server?

    Reply
  15. Hallo Frank,

    es funktioniert wunderbar.
    Allerdings kann man jetzt kein Postfach mehr in Outlook hinzufügen.
    Die Fehlermeldung Lautet: Der Name kann nicht aufgelöst werden. Der Name stimmt mit keinem Namen in der Adressliste überein. Ich vermute, dass Outlook im globalen Adressbuch sucht, dort sind allerdings ja keine User mehr drin. Gibt es dafür eine Lösung?

    VG
    Oliver

    Reply
  16. Sorry hatte mich verschrieben :-) Es heißt -IncludedRecipients
    @Franky vielleicht kannst du das ja in den Artikel aufnehmen, bin selbst wieder in die Falle getappt :-)

    Ich hatte auch keine Einträge in der GAL
    Bei der Überprüfung mit Get-Globaladresslist |fl war der RecipientFilter leer
    mit
    Set-GlobalAddressList -Identity „GAL“ -IncludedRecipients AllRecipients
    und
    Update-GlobalAddressList -Identity „GAL“
    war der Fehler behoben

    Geht natürlich auch direkt beim Befehl
    New-GlobalAddressList „FW GAL“ -RecipientContainer „frankysweb.local/FrankysWeb“ -IncludedRecipients AllRecipients
    New-GlobalAddressList „WF GAL“ -RecipientContainer „frankysweb.local/WebFranky“ -IncludedRecipients AllRecipients

    Reply
  17. Vielleicht hilft es den einen oder anderen.
    Ich hatte auch keine Einträge in der GAL
    Bei der Überprüfung mit Get-Globaladresslist |fl war der RecipientFilter leer
    mit
    Set-GlobalAddressList -Identity „GAL“ -IncludesRecipients AllRecipients
    und
    Update-GlobalAddressList -Identity „GAL“
    war der Fehler behoben

    Geht natürlich auch direkt beim Befehl
    New-GlobalAddressList „FW GAL“ -RecipientContainer „frankysweb.local/FrankysWeb“ -IncludesRecipients AllRecipients
    New-GlobalAddressList „WF GAL“ -RecipientContainer „frankysweb.local/WebFranky“ -IncludesRecipients AllRecipients

    VG
    Micha

    Reply
  18. Ich habe ein ähnliches Szenario, weiß jedoch nicht wie vorgehen:
    Ich habe eine Office365-Instanz mit zwei Usergruppen: Lehrer, Schüler.
    Momentan wird in den Verzeichnissen in Outlook allen Usern alle Gruppen und User angezeigt.
    Ich möchte jedoch, dass nur die Lehrer diese Informationen sehen können, die Schüler sollen keine dieser Kontakte (Gruppen, User) sehen bzw. idealerweise sollten sie Lehrerkontakte sehen, Schüler und Gruppen jedoch nicht (außer den Gruppen, in denen sie Mitglied sind, aber die werden ja unten nochmals angezeigt)
    Wie müsste ich dann vorgehen?

    Reply
  19. @Matthias:
    Ja, wenn Outlook geöffnet ist, gibt’s unter Start ganz rechts den Punkt Adressbuch.
    Wenn man dort auf Extras klickt kann man ein Standard Adressbuch hinterlegen.

    Gruß
    Pascal

    Reply
  20. Hallo,
    super Tutorial…
    Mich würde auch interessieren ob es möglich ist einen Einstiegspunkt zu deklarieren. Wenn man z.B. die Adressliste öffnet, dass nicht die Globale Adressliste geladen wird, sondern eine beliebige Adressliste?
    VG

    Reply
  21. [Nachtrag:] Hatte einen Denkfehler, nun hat jeder das für ihn vorgesehene Adressbuch. Die allgemeine GAL ist aber noch als Standard definiert aber leer. Kann man diese komplett für die User ausblenden und den Einstiegspunkt bei ihrer OU bzw. ihrer neuen GAL setzen?

    Reply
  22. Hallo Frank,

    ich bin deiner Anleitung gefolgt und sehe nun auch nur noch das mir zugewiesene Adressbuch. Leider ist dieses aber leer, obwohl es auf die richtige OU verweist, in der auch User enthalten sind. Auch haben alle noch Zugriff auf die Default GAL in welcher eben ALLE Exchange User angezeigt werden.

    Reply
  23. Ich muss hier jetzt auch noch einmal was fragen, habe das ganze jetzt auf einem Exchange 2016 gemacht. Wir haben 3 Firmen mit 3 OUs. Habe pro Firma auch eine Datenbank erstellt. Das bedeutet, wenn ich für Firma A ein Postfach anlege, landet es auch direkt in der Datenbank von Firma 1. Jetzt habe ich das ganze wie oben beschrieben angelegt und es hat auch soweit ohne Probleme funktioniert. Im OWA wird auch alles richtig angezeigt nur in den Outlook Clients werden jetzt im Adressbuch alle Benutzer und Verteiler von allen 3 Firmen angezeigt.

    http://de.tinypic.com/r/e1aufm/9

    Ich hab auch schon in den jeweiligen Datenbanken das Offlineadressbuch ausgewählt aber bringt alles leider nichts.

    Reply
  24. [Nachtrag:] Wenn man im Outlook den Cache-Modus deaktiviert, wird das richtige Adressbuch angezeigt. Aber das ist nun wirklich keine praktikable Lösung

    Reply
    • Hi Tom,

      sieht aus als könnten die OABs nicht runtergeladen werden, wurden die überhaupt schon erzeugt und an die CAS Server verteilt?

      Gruß, Frank

      Reply
  25. Hallo,

    danke für die (an sich) tolle Anleitung. Genau so habe ich das (mitlerweile mehrfach) gemacht. Nur wenn ich jetzt im Outlook meinen „WF“ (also den 2.) Account anlege wird im Adressbuch erst die richtigen Namen angezeigt und wenn man die Syncronisierung abwartet stehen die „FW“ Adressbücher in der Liste und zur Verfügung.
    Wenn man vor der Syncronisierung z.B. auf „WF Benutzer“ klick kommt der Fehler, dass das Adressbuch nicht angezeigt werden kann und es erscheinen die FW-Adressbücher fehlerfrei. Alternativ kann man auch vor der Synchronisierung auf „Adressbuch herunterladen“ klicken und man erhält den Fehler 0x8004010F.

    Das läßt irgendwie auf ein Problem mit den Zugriffsrechten schließen, aber ich hab irgendwie nicht so die Idee woran es genau liegt bzw. den Fehler abzustellen.

    Gruß
    Tom

    Reply
  26. Hallo,

    die Anleitung ist super, es hat alle genau so geklappt!
    Allerdings frage ich mich, ob es jetzt richtig ist, dass die angezeigt Globale Adressliste leer ist? Ich hätte erwartet, dass dort nun die neu erstellte GAL drin ist…

    Viele Grüße
    Betti

    Reply
  27. Hi,

    wir haben es genau nach deiner Anleitung gemacht, soweit funktioniert es jedoch kann man dann zum Beispiel über OWA keine Kalender mehr freigeben! Gibt es dafür noch eine Lösung?

    cu
    Sebastian

    Reply
  28. Hallo.

    Ich müsste nun auf unserem Exchange 2013 noch Adresslisten für 2 Verteilgruppen erstellen. Die beiden Verteilergruppen habe ich bereits erstellt und die zwei Adresslisten auch. Nun ist meine Frage, mit welchem Befehl kann ich diese Adresslisten den entsprechen Adressbuchrichtlinien zuordnen? Es wäre natürlich auch wieder die Idee, dass jede Firma nur „seine“ Verteilergruppe sieht.

    Ich würde mich über ein Feedback freuen.

    Lieber Gruss Reto

    Reply
    • Geht wieder, war wohl ein Problem mit dem cache. Habe das OL-Profil gelöscht, neu erstellt und es wird richtig angezeigt.

      Lieber Gruss

      Reply
  29. Hallo :)

    Habe dies genau nach deiner Anleitung gemacht und klappt einwandfrei :) . Genau das haben wir gesucht! Vielen vielen Dank und weiter so!!

    Liebe Grüsse aus der Schweiz

    Reply

Leave a Comment