Rechercher les autorisations requises pour exécuter les cmdlets Exchange

Exchange 2016
 

S’applique à :Exchange Online, Exchange Server 2016

Dernière rubrique modifiée :2016-12-20

Utilisez PowerShell pour déterminer les autorisations requises pour exécuter une cmdlet Exchange ou Exchange Online.

Vous pouvez utiliser PowerShell pour rechercher les autorisations requises pour exécuter une cmdlet Exchange ou Exchange Online. Cette procédure décrit les rôles et groupes de rôles de gestion Contrôle d’accès en fonction du rôle (RBAC) qui permettent d’accéder à une cmdlet donnée, même si votre organisation dispose de rôles personnalisés, de groupes de rôles personnalisés ou d’attributions de rôle personnalisées.

  • Durée estimée de la procédure : moins de 5 minutes.

  • Vous pouvez uniquement utiliser PowerShell pour effectuer cette procédure.

  • Vous devez premièrement être administrateur pour effectuer cette procédure. Plus précisément, vous devez avoir accès aux cmdlets Get-ManagementRole et Get-ManagementRoleAssignment. Par défaut, l’accès à ces cmdlets est accordé par le rôle Configuration en affichage uniquement ou Gestion des rôles, qui est attribué aux groupes de rôles Gestion de l’organisation en affichage seul et Gestion de l’organisation.

  • Les procédures décrites dans cette rubrique ne fonctionnent pas dans le Centre de conformité et sécurité dans Office 365. Pour plus d’informations sur les autorisations dans le Centre de conformité et sécurité, voir Autorisations dans le Centre de conformité Office 365.

  • Les procédures décrites dans cette rubrique ne fonctionnent pas dans Exchange Online Protection (EOP). Pour plus d’informations sur les autorisations dans EOP, voir Autorisations des fonctionnalités dans EOP.

  • Pour des informations sur les raccourcis clavier applicables aux procédures de cette rubrique, voir Raccourcis clavier dans Exchange 2013Raccourcis clavier dans le Centre d’administration Exchange.

tipConseil :
Vous rencontrez des difficultés ? Demandez de l’aide en participant aux forums Exchange. Visitez le forum à l’adresse : Exchange Server, Exchange Online ou Exchange Online Protection.

  1. Ouvrez l’environnement PowerShell dans lequel vous voulez exécuter la cmdlet.

  2. Exécutez la commande suivante pour définir la cmdlet et, si vous le souhaitez, un ou plusieurs paramètres de la cmdlet. Veillez à bien remplacer <Cmdlet> et, si nécessaire, <Parameter1>,<Parameter2>... par le véritable nom de la cmdlet et des paramètres qui vous intéressent. Si vous indiquez plusieurs paramètres séparés par des virgules, seuls les rôles qui incluent tous les paramètres sont renvoyés.

    $Perms = Get-ManagementRole -Cmdlet <Cmdlet> [-CmdletParameters <Parameter1>,<Parameter2>...]
    
  3. Exécutez la commande suivante.

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

Les résultats contiennent les informations suivantes :

  • Role   Indique le rôle qui permet d’accéder à la cmdlet ou à la combinaison cmdlet/paramètres. Notez que les rôles dont le nom commence par « My » (« Mon ») sont des rôles utilisateur qui permettent aux utilisateurs réguliers d’effectuer des opérations sur des objets qui leur appartiennent (par exemple, leur boîte aux lettres ou leurs groupes de distribution).

  • RoleAssigneeType et RoleAssigneeName   Ces valeurs sont interdépendantes. RoleAssigneeType est le type d’objet auquel le rôle est attribué et RoleAssigneeName est le nom de l’objet. RoleAssigneeType peut définir un groupe de rôles, une stratégie d’attribution de rôle, un groupe de sécurité ou un utilisateur. En règle générale, les rôles d’administrateur sont attribués à des groupes de rôles.

Que faire si je n’obtiens aucun résultat ?

  • Vérifiez que vous avez correctement entré les noms de cmdlet et de paramètre.

  • Il se peut que vous ayez entré un trop grand nombre de paramètres et que tous les paramètres de la cmdlet ne soient pas définis dans un seul rôle. Essayez de spécifier uniquement le nom de la cmdlet à l’étape 2 et exécutez l’étape 3 pour vérifier qu’elle est disponible dans votre environnement. Ensuite, ajoutez les paramètres un par un à l’étape 2 avant d’exécuter l’étape 3.

  • Toutes ces causes possibles ont la même solution.

    • Il se peut que vous ayez entré une cmdlet ou des paramètres définis dans un rôle qui n’est attribué à personne par défaut.

    • Il se peut que vous ayez entré une cmdlet ou un paramètre qui n’est pas disponible dans votre environnement. Par exemple, lorsque vous entrez une cmdlet ou des paramètres Exchange Online dans un environnement Exchange 2016 local.

    Exécutez la commande suivante pour rechercher le rôle qui contient la cmdlet ou les paramètres. Veillez à bien remplacer <Cmdlet> et, si nécessaire, <Parameter1>,<Parameter2>... par le véritable nom de la cmdlet et des paramètres qui vous intéressent. Notez que vous pouvez utiliser des caractères génériques (*) dans les noms de cmdlet et de paramètre (par exemple, *-Mailbox*).

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

    Si la commande renvoie une erreur indiquant que l’objet est introuvable, la cmdlet ou les paramètres ne sont pas disponibles dans votre environnement.

    Si la commande renvoie une ou plusieurs entrées pour Nom, Rôle et Paramètres, la cmdlet est disponible dans votre environnement, mais le rôle qui les contient n’est attribué à personne par défaut. Pour afficher les rôles qui sont dans cet état, exécutez la commande suivante :

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

  • Les portées de rôle de gestion définissent les emplacements dans lesquels les cmdlets peuvent être exécutées (en particulier, les portées d’écriture).

    Pour inclure des informations de portée à l’étape 2, remplacez la commande suivante :

    $Perms | foreach {Get-ManagementRoleAssignment -Role $_.Name -Delegating $false | Format-List Role,RoleAssigneeType,RoleAssigneeName,*Scope*}
    
  • Pour voir tous les rôles attribués à un utilisateur spécifique, exécutez la commande suivante :

    Get-ManagementRoleAssignment -RoleAssignee <User name> -Delegating $false | Format-Table -Auto Role,RoleAssigneeName,RoleAssigneeType
    
  • Pour afficher tous les utilisateurs auxquels un rôle spécifique est attribué, exécutez la commande suivante :

    Get-ManagementRoleAssignment -Role <Role name> -GetEffectiveUsers -Delegating $false | Where-Object {$_.EffectiveUserName -ne "All Group Members"} | Format-Table -Auto EffectiveUserName,Role,RoleAssigneeName,AssignmentMethod
    
  • Pour afficher les membres d’un groupe de rôles spécifique, exécutez la commande suivante :

    Get-RoleGroupMember <Role group name>
    
 
Afficher: