Exchange 2010 SP2: Möglichkeiten zur Organisation von Adresslisten

Es gibt mehrere Möglichkeiten Adresslisten mit Exchange 2010 zu organisieren. Welche für Exchange Organisation die richtige Wahl ist, muss je nach Struktur neu entschieden werden. Ich stelle hier 3 Möglichkeiten vor, wie Adresslisten angelegt und verwaltet werden können.

Beispiel 1 (Adresslisten nach Standort)

In der Exchange Management Konsole werden innerhalb der vorhandenen Adresslisten neue Adresslisten angelegt und verschachtelt, um zum Beispiel Ressourcentypen voneinander zu trennen oder Standorte abzugrenzen. So könnte zum Beispiel eine Unterteilung in Outlook 2010 aussehen

So stellt sich das erste Beispiel in Outlook Web App (OWA) dar

Leider macht hier OWA keine so gute Figur wie Outlook 2010. Das Fenster der Adresslisten ist statisch und lässt sich in der Größe nicht anpassen. Bei vielen Adresslisten bedeutet es also viel Scrollen in einem kleinen Fenster. Hinzu kommt das alle Adresslisten alphabetisch aufgelistet werden. Die schöne Verschachtelung ist dahin und damit auch die logische Zuordnung zum Standort A wie in Outlook 2010. Wenn es mehrere Standorte gibt, gibt es in OWA also mehrere gleichnamige Adresslisten die untereinander dargestellt werden. Das ist für einen Benutzer natürlich verwirrend und so kaum praktikabel. Es müsste also ein Identifikationsmerkmal für den Standort mit aufgenommen werden, damit Benutzer sich auch in OWA zurechtfinden. In kleinen Umgebungen mit nur einem Standort kann es aber durchaus Sinn machen die Adresslisten so oder so ähnlich anzuordnen.

Es gibt mehrere Möglichkeiten dieses Beispiel umzusetzen, maßgeblich hängt es von der Struktur und Organisation des Active Directorys ab und welche Filter für die Adresslisten gesetzt sind. In meiner Testumgebung sieht die Struktur des Active Directorys so aus:

Daher habe ich die Adresslisten wie folgt angelegt

new-AddressList -Name ‚Standort A‘ -RecipientContainer ‚frankysweb.local/Standort A‘ -IncludedRecipients ‚AllRecipients‘ -Container ‚\‘ -DisplayName ‚Standort A‘

new-AddressList -Name ‚A Räume‘ -RecipientContainer ‚frankysweb.local/Standort A/Ressourcen/Räume‘ -IncludedRecipients ‚Resources‘ -Container ‚\Standort A‘ -DisplayName ‚Räume‘

new-AddressList -Name ‚A Autos‘ -RecipientContainer ‚frankysweb.local/Standort A/Ressourcen/Autos‘ -IncludedRecipients ‚Resources‘ -Container ‚\Standort A‘ -DisplayName ‚Autos‘

new-AddressList -Name ‚A Geräte‘ -RecipientContainer ‚frankysweb.local/Standort A/Ressourcen/Geräte‘ -IncludedRecipients ‚Resources‘ -Container ‚\Standort A‘ -DisplayName ‚Geräte‘

new-AddressList -Name ‚A Benutzer‘ -RecipientContainer ‚frankysweb.local/Standort A/Benutzer‘ -IncludedRecipients ‚MailboxUsers, MailUsers‘ -Container ‚\Standort A‘ -DisplayName ‚Benutzer‘

new-AddressList -Name ‚A Verteiler‘ -RecipientContainer ‚frankysweb.local/Standort A/Verteiler‘ -IncludedRecipients ‚MailGroups‘ -Container ‚\Standort A‘ -DisplayName ‚Verteiler‘

Der Parameter „–Name“ gibt den Namen der Adressliste an, dieser Name muss eindeutig sein, daher wähle ich hier den Namen „A Autos“, „A Geräte“ usw. Damit die Benutzer einen etwas freundlicheren Namen angezeigt bekommen, lautet der Parameter „-DisplayName“ nur „Räume“ bzw „Geräte“. Der Parameter „-Displayname“ darf mehrfach vorkommen. Es gibt also keine Probleme wenn ein Standort B angelegt wird. Der Parameter „-RecipientContainer“ zeigt auf die Organisationseinheit im Active Directory in der die jeweiligen Postfächer oder Verteiler gespeichert sind. Der Parameter „-IncludedRecipients“ gibt an, welche Empfänger Typen in die Adressliste aufgenommen werden soll. #

Beispiel 2 (Adresslisten nach Empfängertyp)

Eine weitere Möglichkeit ist die Verschachtelung der Adresslisten nach Empfängertypen wie in diesem Beispiel. Die Trennung erfolgt hier nach den Empfängertypen (z.B. Benutzer oder Geräte), unter den jeweiligen Kategorien der Empfängertypen findet sich eine Standortspezifische Adresslisten wie „A Benutzer, B Benutzer usw.)

Und so würde dieses Konstrukt in Outlook Web Access aussehen. Wie hier zu sehen ist, gibt es kaum einen Unterschied für den Benutzer, da wie schon oben beschrieben die Adresslisten alphabetisch sortiert werden.

Die Struktur des Active Directorys wurde hierfür nicht verändert und ist immer noch wie oben dargestellt. Lediglich die Verschachtelung der Adresslisten wurde verändert. Um die Adresslisten wie oben anzulegen wurden diese Befehle ausgeführt:

new-AddressList -Name ‚Alle Geräte‘ -IncludedRecipients ‚Resources‘ -Container ‚\‘ -DisplayName ‚Alle Geräte‘

new-AddressList -Name ‚Alle Autos‘ -IncludedRecipients ‚Resources‘ -Container ‚\‘ -DisplayName ‚Alle Autos‘

new-AddressList -Name ‚A Räume‘ -RecipientContainer ‚frankysweb.local/Standort A/Ressourcen/Räume‘ -IncludedRecipients ‚Resources‘ -Container ‚\Alle Räume‘ -DisplayName ‚A Räume‘

new-AddressList -Name ‚A Benutzer‘ -RecipientContainer ‚frankysweb.local/Standort A/Benutzer‘ -IncludedRecipients ‚MailboxUsers, MailUsers‘ -Container ‚\Alle Benutzer‘ -DisplayName ‚A Benutzer‘

new-AddressList -Name ‚A Autos‘ -RecipientContainer ‚frankysweb.local/Standort A/Ressourcen/Autos‘ -IncludedRecipients ‚Resources‘ -Container ‚\Alle Autos‘ -DisplayName ‚A Autos‘

new-AddressList -Name ‚A Verteiler‘ -RecipientContainer ‚frankysweb.local/Standort A/Verteiler‘ -IncludedRecipients ‚MailGroups‘ -Container ‚\Alle Gruppen‘ -DisplayName ‚A Verteiler‘

new-AddressList -Name ‚A Geräte‘ -RecipientContainer ‚frankysweb.local/Standort A/Ressourcen/Geräte‘ -IncludedRecipients ‚Resources‘ -Container ‚\Alle Geräte‘ -DisplayName ‚A Geräte‘

Diese beiden Bespiele funktionieren mit allen Exchange Server 2010 Versionen. Für das nächste Beispiel wird das Service Pack 2 für Exchange Server 2010 benötigt.

Beispiel 3 (Adresslistenrichtlinien)

Hier kommt nun eine Funktion die viele schmerzlich in Exchange 2010 vermisst haben: Adresslistenrichtlinien. Viele kennen den Begriff auch unter „Separation“ oder „Mandantenfähigkeit“. Grob erklärt: Mit Adresslistenrichtlinien, kann der Exchange Administrator festlegen, welche Adresslisten für welche Benutzer sichtbar sind. So können auch in einer Exchange Organisation mehrere Maildomänen (Mandanten) geschaffen werden, ohne das Benutzer der Maildomäne A auf Adresslisten der Maildomäne B zugreifen können. Um das zu verdeutlichen erweitere ich meine Active Directory Struktur um den Standort B. Das AD sieht nun wie folgt aus:

Adresslisten

Das Beispiel behandelt 2 getrennte Standorte (A und B), Benutzer am Standort A sollen nur die für sie vorgesehenen Adresslisten erhalten, genauso wie Benutzer am Standort B. Zusätzlich zu den Standort spezifischen Adresslisten, sollen die Benutzer globale Adresslisten nutzen können. Dieses Setup ist sinnvoll für Firmen mit Sub-Domänen oder vielen Standorten. Dazu werden Adressrichtlinien verwendet, dazu gleich mehr. In Outlook 2010 sieht die Trennung so aus:

Dem Benutzer Administrator wurde die Adressrichtlinie „Standort A“ zugewiesen, dieser Benutzer sieht nun nur noch die Adresslisten des jeweiligen Standorts, in diesem Fall die Benutzer von „Standort A“

Nur noch die Adresslisten die in der Adressrichtlinie für den Benutzer konfiguriert sind, werden angezeigt:

Hier mal aus der Sicht von Benutzer „Ned Flanders“, auch er sieht nur seine jeweiligen Adresslisten:

Auch die doppelten Anzeigenamen machen nun kein Problem mehr. Dieses Beispiel ist auch für OWA gut geeignet

Die Adresslisten wurden diesmal wie folgt angelegt:

New-GlobalAddressList „Standort A“ -RecipientFilter {(Alias -ne $null) -and (((ObjectClass -eq ‚user‘) -or (ObjectClass -eq ‚contact‘) -or (ObjectClass -eq ‚msExchSystemMailbox‘) -or (ObjectClass -eq ‚msExchDynamicDistributionList‘) -or (ObjectClass -eq ‚group‘) -or (ObjectClass -eq ‚publicFolder‘)))} -RecipientContainer ‚frankysweb.local/Standort A‘

New-GlobalAddressList „Standort B“ -RecipientFilter {(Alias -ne $null) -and (((ObjectClass -eq ‚user‘) -or (ObjectClass -eq ‚contact‘) -or (ObjectClass -eq ‚msExchSystemMailbox‘) -or (ObjectClass -eq ‚msExchDynamicDistributionList‘) -or (ObjectClass -eq ‚group‘) -or (ObjectClass -eq ‚publicFolder‘)))} -RecipientContainer ‚frankysweb.local/Standort B‘

new-AddressList -Name ‚A Benutzer‘ -RecipientContainer ‚frankysweb.local/Standort A/Benutzer‘ -IncludedRecipients ‚MailboxUsers, MailUsers‘ -Container ‚\‘ -DisplayName ‚Benutzer‘

new-AddressList -Name ‚B Benutzer‘ -RecipientContainer ‚frankysweb.local/Standort B/Benutzer‘ -IncludedRecipients ‚MailboxUsers, MailUsers‘ -Container ‚\‘ -DisplayName ‚Benutzer‘

new-AddressList -Name ‚A Räume‘ -RecipientContainer ‚frankysweb.local/Standort A/Ressourcen/Räume‘ -IncludedRecipients ‚Resources‘ -Container ‚\‘ -DisplayName ‚Räume‘

new-AddressList -Name ‚B Räume‘ -RecipientContainer ‚frankysweb.local/Standort B/Ressourcen/Räume‘ -IncludedRecipients ‚Resources‘ -Container ‚\‘ -DisplayName ‚Räume‘

new-OfflineAddressBook -Name ‚Standort A‘ -Server ‚EX01‘ -AddressLists ‚\A Benutzer‘ -PublicFolderDistributionEnabled $false -VirtualDirectories ‚EX01\OAB (Default Web Site)‘

new-OfflineAddressBook -Name ‚Standort B‘ -Server ‚EX01‘ -AddressLists ‚\B Benutzer‘ -PublicFolderDistributionEnabled $false -VirtualDirectories ‚EX01\OAB (Default Web Site)‘

new-AddressBookPolicy -Name ‚Standort A‘ -GlobalAddressList ‚\Standort A‘ -OfflineAddressBook ‚\Standort A‘ -RoomList ‚\A Räume‘ -AddressLists ‚\A Benutzer‘

new-AddressBookPolicy -Name ‚Standort B‘ -GlobalAddressList ‚\Standort B‘ -OfflineAddressBook ‚\Standort B‘ -RoomList ‚\B Räume‘ -AddressLists ‚\B Benutzer‘

Set-Mailbox „nf“ -AddressBookPolicy „Standort B“

Für die Adressrichtlinien wird wie schon erwähnt das das Service Pack 2 für Exchange Server 2010 vorausgesetzt. Ich habe der Einfachheit halber nicht alle Adresslisten angelegt, in der Beispielen 1 und 2 finden sich noch Adresslisten für Geräte und Autos, diese Listen habe ich hier weggelassen.

Der nächste Beitrag wird detailliert Adressrichtlinien behandeln und befindet sich in Arbeit.

7 thoughts on “Exchange 2010 SP2: Möglichkeiten zur Organisation von Adresslisten”

  1. Hallo Frank,

    Ich weiß Exchange 2010 ist schon älter…. ich habe trotzdem ein Problem bei den Adresslisten…
    Wie kann ich z.B. in einer globalen Adressliste eine Spalte, in diesem Fall den Alias, ausblenden?

    VG Michael

    Reply
  2. Hi Frank,

    erstmals danke für den super blog. Hab ich schon sehr oft benötigt.

    Ich will so ein szenario so wie in Bsp. 3. Das Problem ist in OWA funktioniert es ohne Probleme, aber von Outlook aus sehe ich wieder die ganze Globale Adressliste. Hab ich was vergessen zu machen?

    Gruß,
    Hans

    Reply
  3. Hi Frank,

    kein Problem, habe den Fehler mittlerweile auch gefunden :-)

    Der Admin ist in der Standard-OU Users. Verschieben?

    Grüße,
    André

    Reply
  4. Hi Frank,

    danke für das super Tutorial. Ich habe mich gerade an Beispiel 3 verausgabt, habe allerdings das Problem, dass mir bei Standort A in der globalen Adressliste des Benutzers aus Standort A immer noch der Administrator und das Discoverysuchpostfach anstatt den Objekten aus Standort A. Wo muss ich noch Hand anlegen?

    Ansonsten ist mir aufgefallen, dass der erste und zweite Powershellbefehl zum Anlegen einer globalen Adressliste per Copy and Paste einen Fehler bringt:

    Invoke-Command : Der Parameter „RecipientFilter“ kann nicht an das Ziel gebunden werden. Ausnahme beim Festlegen von „R
    ecipientFilter“: „Ungültige Filtersyntax. Eine Beschreibung der Syntax für Filterparameter finden Sie in der Hilfe zum
    Befehl.
    ‚(Alias -ne $null) -and (((ObjectClass -eq ‚user‘) -or (ObjectClass -eq ‚contact‘) -or (ObjectClass -eq ‚msExchSystemMa
    ilbox‘) -or (ObjectClass -eq ‚msExchDynamicDistributionList‘) -or (ObjectClass -eq ‚group‘) -or (ObjectClass -eq ‚publi
    cFolder‘)))‘ an Position 43.“
    Bei C:\Users\administrator.C1\AppData\Roaming\Microsoft\Exchange\RemotePowerShell\c1-exch01.c1.local\c1-exch01.c1.local
    .psm1:26900 Zeichen:29
    + $scriptCmd = { & <<<< $script:InvokeCommand `
    + CategoryInfo : WriteError: (:) [New-GlobalAddressList], ParameterBindingException
    + FullyQualifiedErrorId : ParameterBindingFailed,Microsoft.Exchange.Management.SystemConfigurationTasks.NewGlobalA
    ddressList

    —-

    Ich habe dann die globale Adressliste mit

    New-GlobalAddressList "Standort A" -RecipientFilter {(Alias -ne $null) -and (ObjectClass -eq 'user
    ')} -RecipientContainer 'domäne.local/Standort A'

    angelegt.

    Liegt evtl. hier der Fehler mit meiner globalen Adressliste?

    Danke Dir und Grüße,
    André

    Reply
    • Hi,

      es folgt noch ein detailierter Artikel zu Adressrichtlinien, der Befehl funktioniert bei dir nicht, da die Anführungszeichen falsch gesetzt werden, wenn du die Befehle aus dem Artikel kopierst. Das muss ich noch beheben :-)

      Guck dir in der Fehlermeldung mal ‚User‘ an, da siehst du es :-) Bin da auch schon böse drauf reingefallen, aber vergesse jedesmal den Fehler vom Blog zu suchen, Sorry :)

      In welcher OU befindet sich bei dir denn der User Administrator?

      Gruß,

      Frank

      Reply

Leave a Comment