Freigeben über


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 powerShell nur zum Ausführen dieser Verfahren verwenden.

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

  • Ihnen müssen Berechtigungen zugewiesen werden, bevor Sie die Verfahren in diesem Artikel 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: Durch die Mitgliedschaft in den Rollen "Globaler Administrator* " oder " Globaler Leser " erhalten Benutzer die erforderlichen Berechtigungen und Berechtigungen für andere Features in Microsoft 365.

      Wichtig

      * Microsoft empfiehlt die Verwendung von Rollen mit den geringsten Berechtigungen. Die Verwendung von Konten mit niedrigeren Berechtigungen trägt zur Verbesserung der Sicherheit für Ihre Organisation bei. Globaler Administrator ist eine Rolle mit hohen Berechtigungen, 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 Sie <Cmdlet> und 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 im Cmdlet 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 gewährt, oder die Kombination aus Cmdlet und Parametern. Rollennamen, die mit "My" beginnen, sind Benutzerrollen, die es regulären Benutzern ermöglichen, mit Objekten zu arbeiten, die sie besitzen (z. B. ihr eigenes Postfach oder ihre Verteilergruppen).

  • RoleAssigneeType und RoleAssigneeName: Diese Werte hängen miteinander zusammen:

    • RoleAssigneeType ist der Typ des Objekts, dem die Rolle zugewiesen ist. Bei Administratorrollen ist dieser Wert in der Regel eine Rollengruppe, kann aber auch eine Rollenzuweisungsrichtlinie, eine Sicherheitsgruppe oder ein Benutzer sein.
    • 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 einzelnen Rolle definiert (einige Parameter befinden sich möglicherweise in einer Rolle, während sich die anderen in einer anderen Rolle befinden). Gehen Sie schritt für Schritt vor:
    • Führen Sie den ersten Befehl ohne Parameter und 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, die das Cmdlet oder die Parameter enthalten, ersetzen <Cmdlet> Sie und optional durch die Werte, die Sie verwenden möchten, <Parameter1>,<Parameter2>,... und führen Sie den folgenden Befehl 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 zurückgibt, sind das Cmdlet oder die Parameter in Ihrer Umgebung verfügbar, aber die erforderliche Rolle wird 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}}

Einschließen von Verwaltungsrollenbereichen

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

Fügen *Scope* Sie dem zweiten Befehl hinzu, um Bereichsinformationen in powerShell zum Suchen der erforderlichen Berechtigungen zum Ausführen einer Cmdlet-Ausgabe einzuschließen:

$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> 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

Beispiel:

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

Tipp

Der RoleAssignee-Parameter gibt sowohl direkte Rollenzuweisungen an Benutzer (ungewöhnlich) als auch indirekte Rollenzuweisungen zurück, die dem Benutzer über 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> 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

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> durch den Namen der Rollengruppe, und führen Sie den folgenden Befehl aus:

Get-RoleGroupMember "<Role group name>"

Beispiel:

Get-RoleGroupMember "Organization Management"

Tipp

Führen Sie Get-RoleGroupaus, um die Namen aller verfügbaren Rollengruppen anzuzeigen.