Ermitteln der erforderlichen Berechtigungen zum Ausführen von Exchange-Cmdlets

Mithilfe von PowerShell können Sie nach den erforderlichen Berechtigungen zum Ausführen von Exchange- oder Exchange Online-Cmdlets suchen. Dieses Verfahren zeigt die Verwaltungsrollen und Rollengruppen der rollenbasierten Zugriffssteuerung (Role-Based Access Control, RBAC), die Ihnen Zugriff auf ein bestimmtes Cmdlet gewähren - selbst wenn Ihre Organisation über benutzerdefinierte Rollen, Rollengruppen oder Rollenzuweisungen verfügt.

Tipp

Derzeit funktionieren die Verfahren in diesem Artikel nicht mit Microsoft 365-Gruppen-Cmdlets (*-UnifiedGroup) in Exchange Online PowerShell.

Was sollten Sie wissen, bevor Sie beginnen?

  • Geschätzte Zeit bis zum Abschließen dieses Verfahrens: Weniger als 5 Minuten.

  • Sie können diese Verfahren nur mithilfe von PowerShell ausführen.

  • Die Verfahren in diesem Artikel funktionieren nicht in Security & Compliance PowerShell. Weitere Informationen zu Sicherheits- & Complianceberechtigungen finden Sie in den folgenden Artikeln:

  • Ihnen müssen Berechtigungen zugewiesen werden, bevor Sie die in diesem Artikel beschriebenen Schritte ausführen können. Sie haben folgende Optionen:

    • Exchange Server Berechtigungen: Mitgliedschaft in einer der folgenden Rollengruppen:

      • Verwaltung der Richtlinientreue
      • Verwaltung von Nachrichtenschutz
      • Organization Management
      • View-Only Organization Management
    • Exchange Online-Berechtigungen: Mitgliedschaft in einer der folgenden Rollengruppen:

      • Verwaltung der Richtlinientreue
      • Delegiertes Setup
      • Verwaltung von Nachrichtenschutz
      • Organization Management
      • View-Only Organization Management
    • Microsoft Entra-Berechtigungen: Die Mitgliedschaft in den Rollen "Globaler Administrator"* oder "Globaler Leser" gibt Benutzern die erforderlichen Berechtigungen und Berechtigungen für andere Features in Microsoft 365.

      Wichtig

      * Microsoft empfiehlt, Rollen mit den geringsten Berechtigungen zu verwenden. Die Verwendung von Konten mit niedrigeren Berechtigungen trägt zur Verbesserung der Sicherheit für Ihre Organization bei. Globaler Administrator ist eine hoch privilegierte Rolle, die auf Notfallszenarien beschränkt werden sollte, wenn Sie keine vorhandene Rolle verwenden können.

Mithilfe von PowerShell können Sie nach den erforderlichen Berechtigungen zum Ausführen eines Cmdlets suchen.

  1. Falls noch nicht geschehen, öffnen Sie die Exchange PowerShell-Umgebung, an der Sie interessiert sind:

  2. Ersetzen <Cmdlet> Sie dies optional durch die Werte, <Parameter1>,<Parameter2>,... die Sie verwenden möchten, und führen Sie den folgenden Befehl aus:

    $Perms = Get-ManagementRole -Cmdlet <Cmdlet> [-CmdletParameters <Parameter1>,<Parameter2>,...]
    

    Tipp

    Wenn Sie mehrere Parameter angeben, werden nur Rollen zurückgegeben, die alle angegebenen Parameter des Cmdlets enthalten.

  3. Führen Sie den folgenden Befehl aus:

    $Perms | foreach {Get-ManagementRoleAssignment -Role $_.Name -Delegating $false | Format-Table -Auto Role,RoleAssigneeType,RoleAssigneeName}
    

Interpretieren der Ergebnisse

Die Ergebnisse enthalten die folgenden Informationen:

  • Rolle: Gibt die Rolle an, die Zugriff auf das Cmdlet oder die Kombination aus Cmdlet und Parametern gewährt. Rollennamen, die mit "My" beginnen, sind Benutzerrollen, die es normalen Benutzern ermöglichen, Objekte zu bearbeiten, die sie besitzen (z. B. ihr eigenes Postfach oder ihre Verteilergruppen).

  • RoleAssigneeType und RoleAssigneeName: Diese Werte stehen in Beziehung zueinander:

    • RoleAssigneeType ist der Objekttyp, dem die Rolle zugewiesen ist. Bei Administratorrollen handelt es sich bei diesem Wert in der Regel um eine Rollengruppe, es kann sich aber auch um eine Rollenzuweisungsrichtlinie, eine Sicherheitsgruppe oder einen Benutzer handeln.
    • RoleAssigneeName ist der Name der Rollengruppe, der Rollenzuweisungsrichtlinie, der Sicherheitsgruppe oder des Benutzers.

Problembehandlung

Was geschieht, wenn keine Ergebnisse angezeigt werden?

  • Stellen Sie sicher, dass Sie die Namen von Cmdlet und Parametern richtig eingegeben haben.
  • Mehrere Parameter für ein Cmdlet sind möglicherweise nicht in einer einzigen Rolle definiert (einige Parameter können sich in einer Rolle befinden, während die anderen in einer anderen Rolle sind). Gehen Sie Schritt für Schritt vor:
    • Führen Sie den ersten Befehl ohne Parameter aus, und führen Sie dann den zweiten Befehl aus.
    • Fügen Sie dem ersten Befehl einen Parameter hinzu, und führen Sie dann den zweiten Befehl aus.
    • Wiederholen Sie den vorherigen Schritt, indem Sie dem ersten Befehl weitere Parameter hinzufügen, bevor Sie den zweiten Befehl ausführen.

Andernfalls werden wahrscheinlich keine Ergebnisse durch eine der folgenden Bedingungen verursacht:

  • Das Cmdlet oder die Parameter werden in einer Rolle definiert, die standardmäßig keiner Rollengruppe zugewiesen ist.
  • Das Cmdlet oder die Parameter sind in Ihrer Umgebung nicht verfügbar. Sie haben beispielsweise ein Exchange Online-Cmdlet oder Exchange Online-Parameter in einer lokalen Exchange-Umgebung angegeben.

Um die Rollen in Ihrer Umgebung (falls vorhanden) zu finden, <Parameter1>,<Parameter2>,... die das Cmdlet oder die Parameter enthalten, ersetzen <Cmdlet> Sie den folgenden Befehl optional durch die gewünschten Werte, und führen Sie ihn aus:

Get-ManagementRoleEntry -Identity *\<Cmdlet> [-Parameters <Parameter1>,<Parameter2>,...]

Tipp

Sie können Platzhalterzeichen (*) im Cmdlet und Parameternamen verwenden (z. B *-Mailbox*. ).

Wenn der Befehl die Fehlermeldung zurückgibt, dass das Objekt nicht gefunden werden konnte, sind das Cmdlet oder die Parameter in Ihrer Umgebung nicht verfügbar.

Wenn der Befehl Ergebnisse liefert, sind das Cmdlet oder die Parameter in Ihrer Umgebung verfügbar, aber die erforderliche Rolle ist keiner Rollengruppe zugewiesen. Führen Sie den folgenden Befehl aus, um Rollen zu finden, die keiner Rollengruppe zugewiesen sind:

$na = Get-ManagementRole; $na | foreach {If ((Get-ManagementRoleAssignment -Role $_.Name -Delegating $false) -eq $null) {$_.Name}}

Verwaltungsrollenbereiche einbeziehen

Verwaltungsrollenbereiche (insbesondere Schreibbereiche) definieren, wo Cmdlets eingesetzt werden können. Beispielsweise die gesamte organization oder nur für bestimmte Benutzerobjekte.

Um Bereichsinformationen in die Verwenden von PowerShell, um die Berechtigungen zu finden, die zum Ausführen einer Cmdlet-Ausgabe erforderlich sind , fügen Sie dem zweiten Befehl Folgendes hinzu *Scope* :

$Perms | foreach {Get-ManagementRoleAssignment -Role $_.Name -Delegating $false | Format-List Role,RoleAssigneeType,RoleAssigneeName,*Scope*}

Ausführliche Informationen zu Verwaltungsrollenbereichen finden Sie unter Grundlegendes zu Verwaltungsrollenbereichen.

Suchen aller Rollen, die einem bestimmten Benutzer zugewiesen sind

Um alle Rollen anzuzeigen, die einem bestimmten Benutzer zugewiesen sind, ersetzen Sie <UserIdentity> diese durch den Namen, Alias oder die E-Mail-Adresse des Benutzers, und führen Sie den folgenden Befehl aus:

Get-ManagementRoleAssignment -RoleAssignee <UserIdentity> -Delegating $false | Format-Table -Auto Role,RoleAssigneeName,RoleAssigneeType

Zum Beispiel:

Get-ManagementRoleAssignment -RoleAssignee julia@contoso.com -Delegating $false | Format-Table -Auto Role,RoleAssigneeName,RoleAssigneeType

Tipp

Der Parameter RoleAssignee gibt sowohl direkte Rollenzuweisungen an Benutzer (ungewöhnlich) als auch indirekte Rollenzuweisungen zurück, die dem Benutzer durch seine Mitgliedschaft in Rollengruppen gewährt werden.

Suchen aller Benutzer, denen eine bestimmte Rolle zugewiesen ist

Um alle Benutzer anzuzeigen, denen eine bestimmte Rolle zugewiesen ist, ersetzen Sie <Role name> diese durch den Namen der Rolle, und führen Sie den folgenden Befehl aus:

Get-ManagementRoleAssignment -Role "<Role name>" -GetEffectiveUsers -Delegating $false | Where-Object {$_.EffectiveUserName -ne "All Group Members"} | Format-Table -Auto EffectiveUserName,Role,RoleAssigneeName,AssignmentMethod

Zum Beispiel:

Get-ManagementRoleAssignment -Role "Mailbox Import Export" -GetEffectiveUsers -Delegating $false | Where-Object {$_.EffectiveUserName -ne "All Group Members"} | Format-Table -Auto EffectiveUserName,Role,RoleAssigneeName,AssignmentMethod

Suchen der Mitglieder einer Rollengruppe

Um die Mitglieder einer bestimmten Rollengruppe anzuzeigen, ersetzen Sie <Role group name> diese durch den Namen der Rollengruppe, und führen Sie den folgenden Befehl aus:

Get-RoleGroupMember "<Role group name>"

Zum Beispiel:

Get-RoleGroupMember "Organization Management"

Tipp

Um die Namen aller verfügbaren Rollengruppen anzuzeigen, führen Sie Get-RoleGroupaus.