Adressbuchrichtlinien sind ein praktisches Hilfsmittel, wenn man mehrere Organisationen mit einer Exchange-Umgebung bedient.

Dabei kann es unerwünscht sein, dass die unterschiedlichen Organisationen die Adressbucheinträge der anderen Organisationen sehen.

Hier nun eine Beispielkonfiguration für 3 Organisationen.

Die Markierung der unterschiedlichen Benutzer, Gruppen und Kontakte erfolgt per extensionAttribut15. Dies ist Best Practise laut Microsoft!
Es gibt die Abteilungen A1, A2 und A3. A1 ist so konfiguriert, dass es alle Einträge sieht die nicht in A2 oder A3 enthalten sind.

1. AddressbookPolicyRoutingAgent

Install-TransportAgent -Name "ABP Routing Agent" -TransportAgentFactory "Microsoft.Exchange.Transport.Agent.AddressBookPolicyRoutingAgent.AddressBookPolicyRoutingAgentFactory" -AssemblyPath $env:ExchangeInstallPath\TransportRoles\agents\AddressBookPolicyRoutingAgent\Microsoft.Exchange.Transport.Agent.AddressBookPolicyRoutingAgent.dll
Enable-TransportAgent "ABP Routing Agent"
Restart-Service MSExchangeTransport
Get-TransportAgent
Set-TransportConfig -AddressBookPolicyRoutingEnabled $true

 

2. AddressListen.

Es wird nur eine Raumliste erstellt. Diese sehen später alle Benutzer

New-AddressList -Name "A1_Users" -RecipientFilter { (((RecipientType -eq 'UserMailbox') -or (RecipientType -eq 'MailUniversalDistributionGroup') -or (RecipientType -eq 'DynamicDistributionGroup')) -and ((CustomAttribute15 -ne 'A2') -and (CustomAttribute15 -ne 'A3'))) }
New-AddressList -Name "A2_Users" -RecipientFilter {((RecipientType -eq 'UserMailbox') -or (RecipientType -eq "MailUniversalDistributionGroup") -or (RecipientType -eq "DynamicDistributionGroup")) -and ( CustomAttribute15 -eq 'A2' )}
New-AddressList -Name "A3_Users" -RecipientFilter {((RecipientType -eq 'UserMailbox') -or (RecipientType -eq "MailUniversalDistributionGroup") -or (RecipientType -eq "DynamicDistributionGroup")) -and ( CustomAttribute15 -eq 'A3' )}

New-AddressList -Name AL_BlankRoom -RecipientFilter {(Alias -ne $null) -and ((RecipientDisplayType -eq 'ConferenceRoomMailbox') -or (RecipientDisplayType -eq 'SyncedConferenceRoomMailbox'))}

 

3. GlobalAddressList

New-GlobalAddressList -Name "GAL_A1" -RecipientFilter { ((CustomAttribute15 -ne 'A2') -and (CustomAttribute15 -ne 'A3')) }
New-GlobalAddressList -Name "GAL_A2" -RecipientFilter {( CustomAttribute15 -eq 'A2' )}
New-GlobalAddressList -Name "GAL_A3" -RecipientFilter {( CustomAttribute15 -eq 'A3' )}

 

4. OfflineAddressBook

New-OfflineAddressBook -Name "OAB_A1" -AddressLists "GAL_A1"
New-OfflineAddressBook -Name "OAB_A2" -AddressLists "GAL_A2"
New-OfflineAddressBook -Name "OAB_A3" -AddressLists "GAL_A3"

 

5. AddressBookPolicys

New-AddressBookPolicy -Name "ABP_A1" -AddressLists "A1_Users" -OfflineAddressBook "\OAB_A1" -GlobalAddressList "\GAL_A1" -RoomList "\AL_BlankRoom"
New-AddressBookPolicy -Name "ABP_A2" -AddressLists "A2_Users" -OfflineAddressBook "\OAB_A2" -GlobalAddressList "\GAL_A2" -RoomList "\AL_BlankRoom"
New-AddressBookPolicy -Name "ABP_A3" -AddressLists "A3_Users" -OfflineAddressBook "\OAB_A3" -GlobalAddressList "\GAL_A3" -RoomList "\AL_BlankRoom"

 

6. Update der AddressBooks

Dies kann einige Zeit dauern. Da es im Hintergrund passiert kann man z.B. die CPU-Last als Anhaltspunkt nehmen 😉

Get-AddressList | Update-AddressList
Get-GlobalAddressList | Update-GlobalAddressList
Get-OfflineAddressBook | Update-OfflineAddressBook

 

7. Setzen des ExtentionAttributes

Falls die Abteilungen durch OUs getrennt werden könnte dies initial wie folgt geschehen. Dies muss natürlich zyklisch und automatisiert erneuert werden. Wenn es rekursic geschehen muss, muss eine entsprechende Anpassung der Befehle vorgenommen werden. Kontakte und Gruppen dürfen auch nicht vergessen werden!

Get-User -Filter *  -OrganizationalUnit 'OU=Abteilung 1,OU=Users.OU,DC=powershell,DC=pub' | Set-mailbox -CustomAttribute15 A1
Get-User -Filter *  -OrganizationalUnit 'OU=Abteilung 2,OU=Users.OU,DC=powershell,DC=pub' | Set-mailbox -CustomAttribute15 A2
Get-User -Filter *  -OrganizationalUnit 'OU=Abteilung 3,OU=Users.OU,DC=powershell,DC=pub' | Set-mailbox -CustomAttribute15 A3

 

8. Zuweisen der Policys

Genau wie das setzen der ExtensionAttribute muss dies zyklisch wiederholt werden und natürlich auch für Kontakte und Gruppen durchgeführt werden.

Get-Mailbox -Filter { CustomAttribute15 -eq 'A1' } | Set-Mailbox -AddressBookPolicy ABP_A1
Get-Mailbox -Filter { CustomAttribute15 -eq 'A2' } | Set-Mailbox -AddressBookPolicy ABP_A2
Get-Mailbox -Filter { CustomAttribute15 -eq 'A3' } | Set-Mailbox -AddressBookPolicy ABP_A3

 

 

Vor der Konfiguration muss überlegt werden ob man Adressbuchrichtlinien möchte oder ob man ein Hierarchisches Adressbuch möchte.
Leider kann nicht beides gleichzeitig verwendet werden!

Adessbuchrichtlinien

Allgemein:
https://technet.microsoft.com/de-de/library/hh529948(v=exchg.150).aspx

Erstellen einer Adressbuch-Richtlinie:
https://technet.microsoft.com/de-de/library/hh529931(v=exchg.150).aspx

Routing-Agent für Adressbücher:
https://technet.microsoft.com/de-de/library/jj907308(v=exchg.150).aspx

Szenarien mit Konfiguration:
https://technet.microsoft.com/de-de/library/jj657455(v=exchg.150).aspx

 

Hierarchische Adressbücher

Allgemein:
https://technet.microsoft.com/de-de/library/ff629379(v=exchg.150).aspx

Aktivieren / Deaktivieren:
https://technet.microsoft.com/de-de/library/ff607473(v=exchg.150).aspx

 

 

 

Exchange2013 – Adressbücher

Das könnte dir auch gefallen

Schreibe einen Kommentar