Exchange: Erstellen und Verwalten von Kontakten delegieren

Ein Leser dieser Seite fragte, ob es möglich ist, dass bestimmte Benutzer für die Organisation Kontakte anlegen und verwalten können. Mit wenig Aufwand lässt sich dazu eine eigene RBAC (Role Based Access Control) Rolle verwenden. Eine entsprechende Rolle, welche nur Kontakte in einer bestimmten Organisationseinheit erstellen und bearbeiten kann, lässt sich mit wenig Aufwand erstellen. Mitglieder der Rolle können dann via Exchange Admin Center Kontakte verwalten.

Damit das Erstellen und Verwalten von Kontakten delegiert werden kann, müssen zunächst zwei neue Management Rollen erstellt werden. Die neuen Management Rollen basieren dabei auf den schon vorhanden Rollen (in diesem Fall „Mail Recipients“ und „Mail Recipient Creation“:

New-ManagementRole -Parent "Mail Recipients" -Name Contacts
New-ManagementRole -Parent "Mail Recipient Creation" -Name ContactCreation
Neue Management Rollen

Aus den neu angelegten Management Rollen werden nun alle Befehle entfernt, die nicht für das Anlegen von Kontakten erforderlich sind, dies geschieht mit den folgenden beiden Befehlen:

Get-ManagementRoleEntry -Identity "Contacts\*"  | where {$_.Name -notlike "*MailContact"} | Remove-ManagementRoleEntry -confirm:$false
Get-ManagementRoleEntry -Identity "ContactCreation\*"  | where {$_.Name -notlike "*MailContact"} | Remove-ManagementRoleEntry -confirm:$false
Nicht benötigte Befehle entfernen

Die beiden oberen Befehle haben aus den neuen Managemant Rollen alle Befehle entfernt, welche nicht „MailContact“ im Namen haben. Für das Erstellen und Verwalten von Kontakten werden allerdings noch weitere Befehle benötigt. Die weiteren nötigen Befehle müssen daher wieder hinzugefügt werden:

Add-ManagementRoleEntry -Identity "Contacts\Get-User"
Add-ManagementRoleEntry -Identity "Contacts\Get-Recipient"
Add-ManagementRoleEntry -Identity "Contacts\Set-Contact"
Add-ManagementRoleEntry -Identity "Contacts\Get-Contact"

Add-ManagementRoleEntry -Identity "ContactCreation\Get-OrganizationalUnit"
Add-ManagementRoleEntry -Identity "ContactCreation\Get-User"
Add-ManagementRoleEntry -Identity "ContactCreation\Get-Recipient"
Rollen anpassen

Die beiden Management Rollen sind nun fertig. Im Active Directory kann nun eine neue Organisationseinheit für die Kontakte angelegt werden, die Benutzer erhalten später nur die Berechtigung innerhalb dieser Organisationseinheit Kontakte zu erstellen:

Neue OU erstellen

Im Exchange Admin Center wird jetzt eine neue Administratorrolle angelegt:

Neue Administratorrolle erstellen

Die neue Administratorrolle bekommt nun den Namen „Contact Management“, der Schreibbereich wird erst nach dem Speichern der Rolle eingetragen (es kommt sonst zu einer Fehlermeldung). Des weiteren werden die zuvor angelegten Management Rollen hinzugefügt und die Mitglieder der Administrator Rolle festgelegt:

Admin Rolle anpassen

Nachdem die Administrator Rolle gespeichert wurde, lässt sich auch der Schreibbereich anpassen. Hier kann nun der Canonical Name der Organisationseinheit eingetragen werden:

Canonical Name kopieren

Das Eintragen der Organisationseinheit verhindert das Kontakte in anderen Organisationseinheiten angelegt werden können:

Schreibbereich einschränken

Mitglieder der Administratorrolle „Contact Management“ können sich jetzt am Exchange Admin Center anmelden und haben nur noch die Berechtigung Kontakte anzulegen und zu bearbeiten:

Rolle für Kontakte testen

Es sind nur wenige Angaben erforderlich um einen neuen Kontakt zu erstellen, mit einer kleinen Einweisung sollte dies kein Problem darstellen. Mitglieder der Rolle müssen allerdings immer den Alias und die Organisationseinheit auswählen. Wird die Organisationseinheit frei gelassen oder eine OU ausserhalb des Schreibbereichs ausgewählt, kommt es zu einer Fehlermeldung:

Fehler bei falscher OU

Wenn gewünscht, kann noch eine neue Adressliste erstellt werden, welche die neuen Kontakte enthält:

Neue Adressliste

6 Gedanken zu „Exchange: Erstellen und Verwalten von Kontakten delegieren“

  1. Hallo,
    ich habe das mit Exchange online versucht und bekomme bei „Get-ManagementRoleEntry -Identity „Contacts\*“ | where {$_.Name -notlike „*MailContact“} | Remove-ManagementRoleEntry -confirm:$false“
    folgenden Fehler
    Write-ErrorMessage : Cannot process argument transformation on parameter ‚Identity‘. Cannot convert value „Contacts“ to type
    „Microsoft.Exchange.Configuration.Tasks.RoleEntryIdParameter“. Error: „Das Format des in den Parameter
    Microsoft.Exchange.Configuration.Tasks.RoleEntryIdParameter eingegebenen Werts ist ungültig. Prüfen Sie den Wert, und versuchen Sie
    es erneut.
    Parameter name: identity“
    In C:\Users\RRo\AppData\Local\Temp\tmpEXO_01qgvmyh.5dr\tmpEXO_01qgvmyh.5dr.psm1:1190 Zeichen:13
    + Write-ErrorMessage $ErrorObject

    Antworten
  2. Hallo Frank,

    vielen Dank für diese hilfreiche Anleitung. Nun möchte ich, dass die eingeschränkten User auch die Adresslisten anlegen und die Kontakte und Exchange-User den Adresslisten hinzufügen können. Welche ManagementRoleEntry muss ich dafür den 2 Gruppen noch zuweisen?

    Viele Grüße
    Michael

    Antworten

Schreibe einen Kommentar