
Ich muss die folgenden Cmdlets aus dem ExchangeOnline Powershell-Modul mit einer unbeaufsichtigten Verbindung verwenden.
- Get-QuarantineMessage
- Vorschau-Quarantänenachricht
- Freigabe-Quarantänenachricht
- Export-QuarantineMessage
Nach dieser ersten Dokumentationhttps://learn.microsoft.com/en-us/powershell/exchange/app-only-auth-powershell-v2?view=exchange-ps, ich habe eine Azure App-Registrierung mit selbstsigniertem Zertifikat erstellt, die API-Berechtigung „Exchange.ManageAsApp“ zugewiesen und dann die Zustimmung erteilt.
Dann habe ich eine Azure-Sicherheitsgruppe erstellt und meine Anwendung als Mitglied dieser Gruppe hinzugefügt.
Anschließend habe ich gemäß dieser Dokumentation eine benutzerdefinierte Rolle im Microsoft 365 Defender-Portal erstellt: https://learn.microsoft.com/en-us/defender-for-identity/role-groups
In dieser Rolle habe ich die folgende benutzerdefinierte Berechtigung hinzugefügt:
- E-Mail-Quarantäne (verwalten)
- E-Mail erweiterte Aktionen (verwalten) Und Schreibgeschützt fürRohdaten (E-Mail und Zusammenarbeit)
- Und natürlich habe ich meiner in Schritt 2 erstellten Gruppe diese neue Rolle zugewiesen
All dies ermöglicht mir die Verwendung der ersten beiden Cmdlets ohne Probleme, aber ich kann nicht auf dieExport-QuarantineMessageUndFreigabe-Quarantänenachricht.
Wir können die für dieses Cmdlet benötigten Berechtigungen über diese Befehle auflisten (von dort:https://learn.microsoft.com/en-us/powershell/exchange/find-exchange-cmdlet-permissions?view=exchange-ps)
PS > $Perms = Get-ManagementRole -Cmdlet Export-QuarantineMessage
PS > $Perms | foreach {Get-ManagementRoleAssignment -Role $_.Name -Delegating $false | Format-Table -Auto Role,RoleAssigneeType,RoleAssigneeName}
Role RoleAssigneeType RoleAssigneeName
---- ---------------- ----------------
Security Admin RoleGroup Organization Management
Security Admin RoleGroup SecurityAdmins_782500194
Role RoleAssigneeType RoleAssigneeName
---- ---------------- ----------------
Transport Hygiene RoleGroup Hygiene Management
Transport Hygiene RoleGroup Organization Management
Ich habe diesen letzten Befehl ausprobiert:
PS > Add-RoleGroupMember "Hygiene Management" -Member <name of the application created at step 1>
Ich kann mein Anwendungsmitglied sehen, wenn ich Folgendes ausführe:
PS > Get-RoleGroupMember "Hygiene Management"
Aber ich habe immer noch keinen Zugriff auf dieExport-QuarantineMessageUndFreigabe-QuarantänenachrichtCmdlets.
AKTUALISIEREN
Ich versuche folgendeshttps://learn.microsoft.com/en-us/powershell/exchange/app-only-auth-powershell-v2?view=exchange-ps#assign-custom-exchange-online-role-groups-to-the-application-using-service-principals
Erstellen einer benutzerdefinierten Exchange-Rolle mit „Transporthygiene“ + „Sicherheitsadministrator“
PS > $AadApp = Get-AzureADServicePrincipal -SearchString ""
PS > New-ServicePrincipal -AppId $AadApp.AppId -ServiceId $AadApp.ObjectId -DisplayName "ServicePrincipal für meine App"
PS > $SP = Get-ServicePrincipal -Identity "ServicePrincipal für meine App"
PS > Add-RoleGroupMember -Identity "<Rolle erstellt in Schritt 1>" -Member $SP.Identity
Ohne Erfolg.
AKTUALISIEREN Das Ändern meiner benutzerdefinierten Exchange-Rolle mit nur: -Mailbox Import Export -Mailbox Search -MailboxSearchApplication -Message Tracking -Transport Hygiene -View-Only Configuration -View-Only Recipients scheint zu funktionieren. Ich werde das Wochenende verstreichen lassen, um zu sehen, ob dies nicht weitere Änderungen sind, deren Replikation auf der Microsoft-Seite Zeit in Anspruch nimmt