====== Exchange Berechtigungen über AD-Gruppen vergeben ======
===== 1 Grundprinzip (Empfehlung) =====
**Best Practice:** Vergib Berechtigungen in Exchange möglichst nicht direkt an einzelne Benutzer, sondern an **AD-Sicherheitsgruppen**.
**Vorteile:**
* Weniger Fehler (einmal korrekt setzen)
* Einfaches On-/Offboarding (nur Gruppenmitgliedschaft)
* Bessere Auditierbarkeit (wer hat Zugriff? → Gruppenmitgliedschaft)
**Typische Exchange-Berechtigungen:**
* **Full Access** (Mailbox öffnen, alles lesen/schreiben)
* **Send As** (als die Mailbox senden)
* **Send on Behalf** (im Auftrag von … senden)
* **Ordnerrechte** (Kalender/Inbox/Unterordner)
* (Optional) **Rollen/RBAC** (Admin-/Operator-Rechte)
===== 2 Voraussetzung / Entscheidung: Gruppentyp =====
==== 2.1 Gruppentypen ====
* **Security Group (Global/Universal)**: Standard für Berechtigungen im AD.
* **Mail-enabled Security Group**: Security Group, die zusätzlich eine Mailadresse besitzt (wichtig/oft hilfreich bei Exchange).
* **Distribution Group**: Nur Verteiler – i.d.R. nicht für Berechtigungen verwenden.
**Empfehlung:**
* Für klassische Berechtigungen (Full Access/Ordnerrechte): **Security Group** reicht häufig aus.
* Wenn Exchange/Hybrid/EXO zickt oder du konsistent bleiben willst: **Mail-enabled Security Group**.
==== 2.2 Namensschema (Beispiel) ====
Nutze ein klares Schema, z.B.:
* ``SG_EX_MB_FullAccess_Info@`` (für Full Access auf Mailbox "info@")
* ``SG_EX_MB_SendAs_Info@`` (für Send As auf "info@")
* ``SG_EX_MB_Calendar_Info@_RW`` (für Kalenderrechte)
===== 3 Gruppe anlegen =====
==== 3.1 AD (GUI) ====
- Öffne **Active Directory Users and Computers (dsa.msc)**
- OU wählen (z.B. ``OU=Exchange,OU=Groups,DC=firma,DC=local``)
- Rechtsklick → **New** → **Group**
- Typ: **Security**
- Scope: **Universal** (in Exchange-Umgebungen meist am kompatibelsten)
- Name z.B. ``SG_EX_MB_FullAccess_Info``
==== 3.2 Optional: Gruppe mail-enablen (on-prem Exchange) ====
Falls du on-prem Exchange hast, kannst du die Gruppe mail-enablen:
Enable-DistributionGroup -Identity "SG_EX_MB_FullAccess_Info"
Hinweis: Der Cmdlet-Name wirkt wie "DistributionGroup", mail-enabled Security Groups laufen technisch darunter mit.
===== 4 Mitglieder pflegen =====
- ADUC → Gruppe öffnen → Tab **Members** → Benutzer hinzufügen
- oder PowerShell:
Add-ADGroupMember -Identity "SG_EX_MB_FullAccess_Info" -Members "max.mustermann"
**Tipp:** Verwende "Managed By" und einen klaren Owner/Prozess.
===== 5 Berechtigung setzen (Mailbox Full Access) =====
==== 5.1 Full Access (Mailbox öffnen) ====
Beispiel: Gruppe bekommt Full Access auf Mailbox ``info@firma.tld``
Add-MailboxPermission -Identity "info" -User "SG_EX_MB_FullAccess_Info" -AccessRights FullAccess -InheritanceType All
**Optional (Best Practice):** Auto-Mapping verhindern (damit die Mailbox nicht automatisch im Outlook auftaucht):
Add-MailboxPermission -Identity "info" -User "SG_EX_MB_FullAccess_Info" -AccessRights FullAccess -InheritanceType All -AutoMapping:$false
==== 5.2 Ergebnis prüfen ====
Get-MailboxPermission -Identity "info" | ? {$_.User -like "*SG_EX_MB_FullAccess_Info*"}
===== 6 Berechtigung setzen (Send As) =====
Beispiel: Gruppe darf als ``info@firma.tld`` senden
Add-ADPermission -Identity "info" -User "SG_EX_MB_SendAs_Info" -ExtendedRights "Send As"
**Prüfen:**
Get-ADPermission -Identity "info" | ? { $_.User -like "*SG_EX_MB_SendAs_Info*" -and $_.ExtendedRights -like "*Send As*" }
**Wichtig:** "Send As" kann Replikations-/Caching-Delay haben (AD/Exchange). Plane ggf. 15–60 Minuten ein.
===== 7 Berechtigung setzen (Send on Behalf) =====
Beispiel: Gruppe darf "im Auftrag von" senden
Set-Mailbox -Identity "info" -GrantSendOnBehalfTo @{Add="SG_EX_MB_SOB_Info"}
**Prüfen:**
Get-Mailbox -Identity "info" | select -Expand GrantSendOnBehalfTo
===== 8 Ordnerrechte per Gruppe (z.B. Kalender) =====
Beispiel: Gruppe erhält Editor-Rechte auf den Kalender der Mailbox "info".
==== 8.1 Kalenderrechte setzen ====
Deutscher Client kann Ordnernamen anders anzeigen. Technisch heißt der Kalender meistens ``Calendar`` oder sprachabhängig ``Kalender``.
Prüfe zuerst den korrekten Pfad:
Get-MailboxFolderStatistics -Identity "info" | ? {$_.FolderType -eq "Calendar"} | select Name,FolderPath
Dann Rechte vergeben (Beispiel mit FolderPath):
Add-MailboxFolderPermission -Identity "info:\Kalender" -User "SG_EX_MB_Calendar_Info_RW" -AccessRights Editor
**Prüfen:**
Get-MailboxFolderPermission -Identity "info:\Kalender" | ? {$_.User -like "*SG_EX_MB_Calendar_Info_RW*"}
===== 9 Entfernen / Rollback =====
==== 9.1 Full Access entfernen ====
Remove-MailboxPermission -Identity "info" -User "SG_EX_MB_FullAccess_Info" -AccessRights FullAccess -InheritanceType All
==== 9.2 Send As entfernen ====
Remove-ADPermission -Identity "info" -User "SG_EX_MB_SendAs_Info" -ExtendedRights "Send As"
==== 9.3 Ordnerrecht entfernen ====
Remove-MailboxFolderPermission -Identity "info:\Kalender" -User "SG_EX_MB_Calendar_Info_RW"
===== 10 Troubleshooting / typische Stolpersteine =====
* **AutoMapping:** FullAccess setzt oft AutoMapping → Mailbox taucht automatisch in Outlook auf. Nutze ``-AutoMapping:$false``.
* **Delays:** "Send As" wirkt manchmal zeitverzögert (AD/Exchange Cache).
* **Gruppenscope:** In manchen Setups sind **Universal Security Groups** am kompatibelsten.
* **Hybrid/EXO:** Wenn du Exchange Online nutzt, können cmdlets abweichen (EXO v3). Verwende die passenden EXO-Cmdlets und prüfe, ob Gruppen sauber synchronisiert sind.
* **Nested Groups:** Verschachtelte Gruppen funktionieren nicht überall gleich zuverlässig (je nach Berechtigungstyp). Wenn es klemmt: direkte Mitgliedschaft bevorzugen.
===== 11 Komplettbeispiel (End-to-End) =====
**Ziel:** Max und Erika sollen die Mailbox ``info@firma.tld`` öffnen und als ``info@`` senden können.
- Gruppen:
* ``SG_EX_MB_FullAccess_Info``
* ``SG_EX_MB_SendAs_Info``
- Mitglieder:
* ``max.mustermann``
* ``erika.mustermann``
**Commands:**
Add-ADGroupMember -Identity "SG_EX_MB_FullAccess_Info" -Members "max.mustermann","erika.mustermann"
Add-ADGroupMember -Identity "SG_EX_MB_SendAs_Info" -Members "max.mustermann","erika.mustermann"
Add-MailboxPermission -Identity "info" -User "SG_EX_MB_FullAccess_Info" -AccessRights FullAccess -InheritanceType All -AutoMapping:$false
Add-ADPermission -Identity "info" -User "SG_EX_MB_SendAs_Info" -ExtendedRights "Send As"
**Prüfen:**
Get-MailboxPermission -Identity "info" | ? {$_.User -like "*SG_EX_MB_FullAccess_Info*"}
Get-ADPermission -Identity "info" | ? { $_.User -like "*SG_EX_MB_SendAs_Info*" -and $_.ExtendedRights -like "*Send As*" }
Kurze Rückfrage (damit ich es 100% passend mache)
Arbeitest du mit Exchange on‑prem, Exchange Online, oder Hybrid?
Dann kann ich dir die Anleitung auf deine Variante zuschneiden (z. B. EXO‑Cmdlets, AAD‑Sync, RBAC, Besonderheiten bei „Send As“).