Getrenntes Offline Adressbücher (OAB) für verschiedene Gruppen von Nutzern

Dieser Artikel gilt für: MS Exchange 2010 SP2 oder höher

Szenario:

Sie haben in Ihrer Umgebung verschiedene Gruppen von Nutzern, in diesem konkreten Beispiel Studenten und Mitarbeiter. Da Sie nicht beiden dasselbe OAB zumuten oder zur Verfügung stellen möchten, erstellen Sie zwei gesonderte OABs und weisen der jeweiligen Gruppe das passende zu.

Genau solch ein Szenario beschreibe ich in diesem Beitrag und zeige Ihnen, wie man das alles recht zügig mit der Exchange Management Shell umsetzen kann. Die Voraussetzungen hierfür sind zum einen ein Microsoft Exchange Server 2010 SP2 oder höher und keine Scheu vor der PowerShell bzw. der Exchange Management Shell.

Zur Veranschaulichung habe ich folgende Umgebung aufgebaut: Wir befinden uns in der Domäne Uni-KA.com und haben die OUs Studenten und Mitarbeiter.

Um Sie zu beruhigen, Sie müssen bei den Cmdlets nur wenig beachten und es scheint auf den ersten Blick mehr Arbeit als es letztendlich ist. Ich werde jedes Cmdlet als Beispiel einfügen, dass Sie genau sehen können, wie es letztendlich auszusehen hat. Im Normalfall brauchen Sie für einen Durchgang des nachfolgenden Beitrags ca. 20-40 Minuten

Durchführung:

Custom Attribut erstellen und zuweisen:

Fangen wir mit dem Erstellen des Custom Attributs an und binden dies direkt an die User, deren Mailboxen und an die Verteilerlisten an. Die Custom Attribute sind dazu da, einem Empfänger bestimmte Informationen zuzuweisen. Bei uns wird es dazu verwendet, im Nachhinein die Adressbuch Richtlinie an die richtigen User zuzuweisen.

Um dies umzusetzen benötigen wir die nachfolgenden PowerShell Cmdlets, welche wir in die Exchange Management Shell eingeben müssen:

Get-Mailbox -OrganizationalUnit Uni-KA.com/Student | Set-Mailbox -CustomAttribute1 Studenten-Attribut

Get-MailUser -OrganizationalUnit Uni-KA.com/Student | Set-MailUser -CustomAttribute1 Studenten-Attribut

Get-DistributionGroup -OrganizationalUnit Uni-KA.com/Student | Set-DistributionGroup -CustomAttribute1 Studenten-Attribut

Mit diesen 3 Cmdlets haben wir nun allen Mailboxusern, Mailboxen und Verteilergruppen das Custom Attribut „Studenten-Attribut“ zugewiesen.

Dies können wir mit einem Blick in die Exchange Management Konsole überprüfen. Hierzu müssen wir unter „Recipient Configuration“ auf „Mailbox“ klicken. Hier wählen wir nun die Mailbox eines Users aus, der sich in der angesprochenen OU befindet. Wenn wir nun in den „Eigenschaften“ des Postfaches sind und auf „Custom Attributes“ klicken, müsste hier in der ersten Zeile „Studenten Attribut“ gelistet sein.

Nun könnten wir noch direkt dasselbe mit der Mitarbeiter OU machen. Jedoch werde ich es der Länge wegen hier nun nicht näher beschreiben.

Das Erstellen einer neuen Global Addresslist und Ihrer Unterlisten

Als nächstes erstellen wir die Globalen Adresslisten, welche im Folgenden „GAL“ abgekürzt werden. Auch hier benötigen wir wieder eine (GAL) pro getrennter OU (Organisational Unit).

New-GlobalAddressList "Studenten Adressliste" -RecipientFilter {(CustomAttribute1 -eq "Studenten-Attribut")} | Update-GlobalAddressList

Jetzt erstellen wir die standartmäßig vorhandenen Adresslisten. Zu diesen zählen die User-, Contact-, Group- und Room-Lists.

New-AddressList "Studenten Benutzer" -RecipientFilter {((CustomAttribute1 -eq "Studenten-Attribut") -and (RecipientType -eq 'UserMailbox'))} | Update-AddressList

New-AddressList "Studenten Gruppen" -RecipientFilter {((CustomAttribute1 -eq "Studenten-Attribut") -and (RecipientType -eq 'MailUniversalDistributionGroup' -or RecipientType -eq 'MailUniversalSecurityGroup' -or RecipientType -eq 'MailNonUniversalGroup' -or RecipientType -eq 'DynamicDistributionGroup'))} | Update-AddressList

New-AddressList "Studenten Kontakte" -RecipientFilter {((CustomAttribute1 -eq "Studenten-Attribut") -and (RecipientType -eq 'MailContact'))} | Update-AddressList

New-AddressList "Studenten Raeume" -RecipientFilter {((CustomAttribute1 -eq "Studenten-Attribut") -and (Alias -ne $null) -and ((RecipientDisplayType -eq 'ConferenceRoomMailbox') -or (RecipientDisplayType -eq 'SyncedConferenceRoomMailbox')))} | Update-AddressList

Hier wäre zu empfehlen, die verschiedenen Listen mit dem gleichen Präfix zu benennen, wie hier im Beispiel “Studenten…”. Der Rest der Benennung entspricht keiner Konvention.

Erstellen eines Offline Addressbooks

Was wir als nächstes benötigen ist ein neues OAB. Dies können wir mit dem folgenden Cmdlet erstellen.

New-OfflineAddressBook “Studenten Offline Adressbuch” -AddressLists  “Studenten Adressliste”

Nachdem wir jetzt unser neues OAB haben, können wir nun auch schon die neue Adressbuch Richtlinie erstellen. Hier kommt uns auch wieder die richtige Präfix-Benennung im vorletzten Schritt zugute.

New-AddressBookPolicy -Name „Studenten Adressbuch Richtlinie“ -AddressLists (Get-AddressList Studenten*) -OfflineAddressBook „Studenten offline Adressbuch“ -GlobalAddressList "\Studenten Adressliste"  -RoomList "\Studenten Raeume"

Zuweisung der Addressbook Policy

Damit alles funktioniert, müssen wir jetzt lediglich noch den Usern, Mailboxen und Verteilerlisten die richtige Adressbuchrichtlinie zuweisen. Auch dies funktioniert wieder mittels EMS:

Get-Mailbox -Filter {(CustomAttribute1 -eq "Studenten Attribut")} | Set-Mailbox -AddressBookPolicy "Studenten Adressbuch Richtlinie"

Ab sofort sollten die User dann nur noch die User in Ihrem Adressbuch finden, welche auch in derselben OU sind, wie sie selbst.

Was ist danach noch zu beachten?

Im Nachhinein sollten wir lediglich darauf achten, dass beim Hinzufügen eines neuen Nutzers diese Attribute nicht übernommen werden. D.h. wir müssen zukünftig beim Hinzufügen eines neuen Users diese Attribute von Hand nachtragen oder wir fügen die User mit diesem Cmdlet hinzu:

New-Mailbox "Robin Koenig" -OrganizationalUnit Uni-KA.com -UserPrincipalName RobinKoenig@Uni-KA-com -AddressBookPolicy "Studenten Adressbuch Richtlinie" | Set-MailBox -CustomAttribute1 "Studenten Attribut"

So können Sie nun mit allen OUs verfahren. Somit erhält jede OU Ihr eigenes Adressbuch, damit wie in diesem Beispiel, die Studenten keinen Zugriff auf die E-Mail Adressen der Uni-Mitarbeiter haben.