Recherche de site Web

Autorisation d'accès complet | Autorisation d'accès complet à la boîte aux lettres – Tout ce que vous avez toujours voulu savoir mais que vous aviez peur de demander partie 3/3 .com


Il s'agit du dernier article d'une série de trois articles traitant de la mise en œuvre et de l'utilisation de l'autorisation de boîte aux lettres à accès complet dans l'environnement Office 365.

L'article comprend deux parties :

  1. Affichage des autorisations de boîte aux lettres
    Dans cette section, nous passerons en revue la commande PowerShell de base pour afficher les autorisations de boîte aux lettres et démontrerons quelques améliorations qui nous aideront à « nettoyer » les informations inutiles.
  1. Suppression des autorisations de boîte aux lettres
    La syntaxe logique de la commande PowerShell pour « Supprimer les autorisations de boîte aux lettres » est identique à la syntaxe PowerShell que nous utilisons pour ajouter l'autorisation de boîte aux lettres. Malgré cela, il était important pour moi d'examiner un scénario typique lié à l'opération de suppression des autorisations de boîte aux lettres en accès complet.

Autorisation de boîte aux lettres à accès complet | Série d'articles

La série d’articles sur les autorisations de boîte aux lettres à accès complet comprend les trois articles suivants :

  1. Autorisation de boîte aux lettres à accès complet - Partie 1/3
  2. Autorisation de boîte aux lettres à accès complet - Partie 2/3
  3. Autorisation de boîte aux lettres à accès complet - Partie 3/3 (cet article)

Partie 1. Afficher les autorisations de la boîte aux lettres

Lorsque nous utilisons la commande PowerShell de base pour afficher l'autorisation de la boîte aux lettres dans l'environnement Office 365 (Exchange Online), nous traitons des problèmes :

  1. Informations non pertinentes
    Le résultat qui sera affiché comprendra des détails supplémentaires sur l'autorisation dont dispose l'utilisateur particulier sur sa boîte aux lettres et des informations supplémentaires sur le groupe système intégré qui a l'autorisation sur chacune des boîtes aux lettres de l'utilisateur.
  2. Le format du nom d'utilisateur
    Lorsque nous affichons des informations sur l'autorisation d'une boîte aux lettres, les informations sur le nom d'utilisateur affichées en utilisant le nom d'utilisateur AD. Dans l'environnement Office 365 (Exchange Online), le nom d'affichage de l'utilisateur est différent du nom d'affichage de l'utilisateur standard ou de l'alias de la boîte aux lettres. Le résultat est parfois difficile à lire ou à comprendre car il n’est pas si facile de comprendre les « noms d’utilisateurs AD étranges » par rapport aux conventions que nous connaissons, comme référencer un utilisateur par son nom d’affichage ou ses alias.

Utilisation de l'affichage par défaut pour afficher les autorisations de la boîte aux lettres

L'applet de commande PowerShell que nous utilisons pour afficher les autorisations de boîte aux lettres est Get-MailboxPermission.

Par exemple : Pour afficher l'autorisation de boîte aux lettres d'accès complet dont disposent les utilisateurs (ou un groupe) dans la boîte aux lettres de John, nous pouvons utiliser la commande PowerShell :

Get-MailboxPermission "John"

La sortie est affichée dans la capture d'écran ci-dessous.

Techniquement, nous avons obtenu les résultats escomptés, mais si nous examinons de plus près le résultat affiché sur la console PowerShell, nous pourrions reconnaître certains « problèmes » :

La colonne utilisateur

Sous l'en-tête nommé Utilisateur, nous pouvons voir des informations sur de nombreux « objets », tels qu'un groupe système intégré avec une autorisation d'accès complet à la boîte aux lettres de John et aux autres utilisateurs. Les informations sur les « objets » qui disposent d'autorisations de boîte aux lettres ne sont pas très claires pour quatre raisons :

  1. La colonne utilisateur n'est pas assez large et pour cette raison, une partie importante du nom d'utilisateur est « effacée ».
  2. Les informations sur l'objet disposant d'une autorisation de boîte aux lettres incluent de nombreuses informations non pertinentes sur le groupe système intégré, des informations sur la pension que l'utilisateur a sur sa boîte aux lettres, etc.
  3. Le nom de l'utilisateur disposant de l'autorisation de boîte aux lettres est affiché à l'aide du nom d'utilisateur Active Directory. Dans l'environnement Office 365, le nom d'utilisateur Active Directory est différent de l'alias d'utilisateur standard ou du nom d'affichage.
  4. Le préfixe du nom d'utilisateur est le nom du serveur (information non utile).

De plus, l'affichage par défaut comprend une colonne telle que IsInherited et Deny (numéro 2). La plupart du temps, ces informations ne sont pas non plus pertinentes.

Optimiser les résultats des autorisations de la boîte aux lettres affichée

Étape 1 - Effacer la colonne inutile

Dans un premier temps, nous supprimerons la colonne non pertinente en utilisant le paramètre FL (liste de fichiers). L'option FL nous permet de spécifier la colonne exacte (en spécifiant le nom de l'en-tête de la colonne). Dans notre exemple, nous souhaitons afficher uniquement les colonnes Identité, Utilisateur, AccessRights.

Syntaxe des commandes PowerShell :

Get-MailboxPermission "John" | FT Identity,User,AccessRights

Dans la capture d'écran, nous pouvons voir que la colonne « utilisateur » s'affiche plus clairement, mais nous avons encore quelques problèmes : il y a beaucoup d'informations non pertinentes, comme les informations sur les groupes de systèmes intégrés qui ont un accès complet. autorisation sur la boîte aux lettres de John et en outre les informations sur l'utilisateur qui dispose de l'autorisation d'accès complet, telles que le compte administrateur affiché à l'aide du nom d'utilisateur Active Directory qui comprend une combinaison du nom d'utilisateur et des numéros.

Étape 2 - Effacez les informations inutiles sur les groupes intégrés et SELF

Pour pouvoir afficher uniquement les « autorisations explicitement attribuées » à une boîte aux lettres, nous devrons filtrer ou supprimer les données non pertinentes.

Le premier détail que nous souhaitons supprimer est l'autorisation « SELF » dont chaque utilisateur dispose sur sa boîte mail. Le deuxième type d'autorisations que nous souhaitons supprimer du résultat affiché est décrit comme : autorisations « IsInherited ».

Pour effacer les informations non nécessaires, nous utiliserons une condition logique (en utilisant la commande PowerShell - Où) pour exclure l'autorisation de boîte aux lettres d'accès complet classée comme NT AUTHORITY\SELF et IsInherited.

Syntaxe des commandes PowerShell :

Get-MailboxPermission "John" | Where { ($_.IsInherited -eq $False) -and -not ($_.User -like "NT AUTHORITY\SELF") } | FL Identity,User,AccessRights

Dans la capture d'écran suivante, nous pouvons voir que nous parvenons avec succès à exclure ou à effacer la plupart des informations non pertinentes. Nous pouvons voir maintenant que deux utilisateurs disposent d’une autorisation d’accès complet à la boîte aux lettres de John.

Étape 3 - Utilisation des propriétés calculées

Dans la prochaine étape, nous effectuerons la tâche requise. Notre mission est maintenant de permettre un nom d'utilisateur plus lisible dans la colonne Utilisateur.

Nous remplacerons la convention de nom d'utilisateur Active Directory par l'utilisation de la propriété Nom. De plus, nous remplacerons le nom d'en-tête de colonne existant Utilisateur par un en-tête de colonne plus convivial.

À cette fin, nous allons créer un nouvel en-tête de colonne intitulé « Utilisateurs bénéficiant d'un accès complet ». Le contenu de la nouvelle colonne inclura le nom d’utilisateur disposant des autorisations de boîte aux lettres d’accès complet à la boîte aux lettres de John. Mais au lieu des conventions de nom d'utilisateur standard, nous « extrayons » la propriété « nom » (ou identifiant) pour chacun des utilisateurs disposant d'autorisations.

Syntaxe des commandes PowerShell :

Get-MailboxPermission "John" | Where { ($_.IsInherited -eq $False) -and -not ($_.User -like "NT AUTHORITY\SELF") } | FT Identity, @{name="Users that have Full Access ";expression={(Get-User $_.User).Name}},AccessRights

Dans la capture d'écran suivante, nous pouvons voir les résultats.

La sortie affichée dans la console PowerShell est plus compréhensible. Nous pouvons voir que le résultat inclut un « nouvel en-tête de colonne » nommé Utilisateurs ayant un accès complet, et nous pouvons voir le nom d'utilisateur qui dispose de l'autorisation de boîte aux lettres sur la boîte aux lettres de John.

Mais il existe encore des améliorations supplémentaires que nous pouvons utiliser. Dans la capture d'écran, nous pouvons voir qu'il y a un « espace important » entre les colonnes. Si l’écran PowerShell n’est pas assez large, nous pourrions « perdre » certaines informations.

Alors, existe-t-il une option pour réduire l’espace entre les colonnes ? Et la réponse est Oui. Examinons cela à l'étape suivante.

Étape 4 - Utilisation de l'option Taille automatique

Dans cette étape, nous utiliserons le paramètre AutoSize pour diminuer l'espace entre les colonnes de résultats.

Syntaxe des commandes PowerShell :

Get-MailboxPermission "John" | Where { ($_.IsInherited -eq $False) -and -not ($_.User -like "NT AUTHORITY\SELF") } | FT Identity, @{name="Users that have Full Access ";expression={(Get-User $_.User).Name}},AccessRights -AutoSize

Dans la capture d'écran suivante, nous pouvons voir les résultats.

Étape 5 - Filtrer uniquement les autorisations de boîte aux lettres à accès complet

Comme mentionné précédemment, le terme « autorisations de boîte aux lettres » inclut une variété de différents types d'autorisations. La personne la plus courante est l'accès complet, mais il existe parfois une implémentation d'un autre type d'autorisations de boîte aux lettres.

Lorsque nous utilisons les applets de commande PowerShell Get-MailboxPermission, les résultats incluront toutes les autorisations de boîte aux lettres disponibles dont disposent les utilisateurs pour la boîte aux lettres.

Si nous souhaitons afficher uniquement l'autorisation de boîte aux lettres d'accès complet, nous pouvons filtrer les résultats en utilisant le paramètre Où :

($_.AccessRights -like "*FullAccess*")

Syntaxe des commandes PowerShell :

Get-MailboxPermission "John" | Where { ($_.AccessRights -like "*FullAccess*") -and ($_.IsInherited -eq $False) -and -not ($_.User -like "NT AUTHORITY\SELF") } | Select Identity, @{name="User";expression={(Get-User $_.User).Name}},AccessRights

Afficher la liste des boîtes aux lettres pour lesquelles un utilisateur dispose d'autorisations d'accès complet

Dans la section précédente, nous passons en revue un scénario dans lequel nous souhaitons obtenir des informations sur les autorisations de boîte aux lettres dont disposent d'autres utilisateurs sur un utilisateur spécifique.

Dans le scénario suivant, nous aimerions obtenir des informations sur l'autorisation dont dispose un utilisateur particulier sur d'autres boîtes aux lettres ou supplémentaires.

Par exemple, nous aimerions obtenir des informations sur les boîtes aux lettres dont l'utilisateur administrateur dispose d'une autorisation de boîte aux lettres d'accès complet.

Pour accomplir cette tâche, dans la première partie de PowerShell, nous utilisons la cmdlet Get-Mailbox pour obtenir une liste de toutes les boîtes aux lettres existantes. Dans la deuxième partie, nous utilisons la cmdlet Get-MailboxPermission et ajoutons le nom d'utilisateur. La commande PowerShell examinera tous les tableaux de boîtes aux lettres, vérifiera sur quelles boîtes aux lettres l'utilisateur administrateur dispose de l'autorisation de boîte aux lettres et affichera les résultats. Le reste de la commande PowerShell est utilisé pour améliorer les résultats affichés par la cmdlet Get-MailboxPermission.

Syntaxe des commandes PowerShell :

Get-Mailbox | Get-MailboxPermission -User "Admin" | Select Identity,@{name="User";expression={(Get-User $_.User).Name}},AccessRights

Afficher une liste des destinataires disposant d'une autorisation d'accès complet sur d'autres destinataires

Dans le scénario suivant, nous aimons obtenir une liste de tous les utilisateurs dont un autre utilisateur dispose d'une autorisation de boîte aux lettres sur leur boîte aux lettres.

Syntaxe des commandes PowerShell :

$a = Get-Mailbox 
$a | Get-MailboxPermission | Where { ($_.IsInherited -eq $False) -and -not ($_.User -like "NT AUTHORITY\SELF") -and -not ($_.User -like '*Discovery Management*') } | Select Identity,@{name="User";expression={(Get-User $_.User).Name}},AccessRights

Afficher l'autorisation pour plusieurs boîtes aux lettres

Nous souhaitons obtenir des informations sur un utilisateur disposant d'autorisations de boîte aux lettres pour plusieurs utilisateurs. Dans notre exemple, nous aimerions savoir qui a l’autorisation de boîte aux lettres sur la boîte aux lettres de John + Alice. Nous pouvons ajouter chacun des noms d'utilisateur séparés par une virgule.

Syntaxe des commandes PowerShell :

"John","Alice" | ForEach {Get-MailboxPermission -Identity $_}

Pour améliorer l'apparence du résultat affiché, nous améliorerons la commande PowerShell de base pour supprimer les informations non pertinentes.

Syntaxe des commandes PowerShell :

"John", "Alice" | ForEach { Get-MailboxPermission -Identity $_ | Where { ($_.IsInherited -eq $False) -and -not ($_.User -like "NT AUTHORITY\SELF") -and -not ($_.User -like '*Discovery Management*') } } | Select Identity,@{name="User";expression={(Get-User $_.User).Name}},AccessRights

Partie 2. Supprimer les autorisations de la boîte aux lettres

Dans la dernière section, nous passerons en revue la manière dont nous supprimons les autorisations de boîte aux lettres. Le cdmlet PowerShell que nous utilisons pour supprimer ou révoquer les autorisations de boîte aux lettres est Remove-MailboxPermission.

Scénario 1 - Supprimer l'autorisation de boîte aux lettres d'une boîte aux lettres d'utilisateur

Commençons par un exemple simple : nous souhaitons supprimer les autorisations de boîte aux lettres d'accès complet dont Alice dispose sur la boîte aux lettres de John.

Syntaxe des commandes PowerShell :

Remove-MailboxPermission "John" -User "Suzan" -AccessRights FullAccess

Par défaut, les applets de commande PowerShell permettant de supprimer l'autorisation de boîte aux lettres affichent un message d'avertissement : « Êtes-vous sûr de vouloir effectuer cette action ? »

Dans le cas où nous exécutons un script qui crée une tâche groupée, telle que la suppression d'une autorisation de boîte aux lettres dont de nombreux utilisateurs disposent sur une boîte aux lettres particulière, le « processus de confirmation » pourrait être suffisamment épuisant.

Pour pouvoir éviter le processus de confirmation, nous pouvons ajouter le paramètre Confirm:$False.

Syntaxe des commandes PowerShell :

Remove-MailboxPermission "John" -User "Suzan" -AccessRights FullAccess -Confirm:$False

Scénario 2 - Supprimer l'autorisation de boîte aux lettres d'une collection de boîtes aux lettres

Ce scénario peut être utilisé lorsqu'un utilisateur spécifique, tel qu'un membre de l'équipe d'assistance ou un administrateur, dispose d'une autorisation de boîte aux lettres d'accès complet à de nombreuses boîtes aux lettres.

Si nous souhaitons supprimer l’autorisation de boîte aux lettres dont dispose l’utilisateur, nous devrons d’abord obtenir une liste de toutes les boîtes aux lettres existantes. Ensuite, nous devrons vérifier si l'utilisateur particulier dispose de l'autorisation de boîte aux lettres d'accès complet sur la boîte aux lettres, et la dernière étape sera de supprimer ces autorisations.

Syntaxe des commandes PowerShell :

$Mailboxes = Get-Mailbox 
ForEach ($member in $Mailboxes) {
    Remove-MailboxPermission $member.name -AccessRights FullAccess -user "Admin"
}

Nous utilisons la commande basée sur la variable que nous avons nommée $Mailboxes. La valeur de la variable inclut une liste de tous les types de boîtes aux lettres existantes, tels que la boîte aux lettres de l'utilisateur, la boîte aux lettres de la salle, etc.

Si nous devons supprimer l'autorisation de boîte aux lettres complète d'un type de boîte aux lettres spécifique, nous pouvons ajouter l'option de filtre à la variable.

Scénario 3 - Supprimer les autorisations d'accès complet uniquement des boîtes aux lettres des utilisateurs (filtrer les boîtes aux lettres des utilisateurs)

Syntaxe des commandes PowerShell :

$Mailboxes = Get-Mailbox -ResultSize unlimited -Filter { (RecipientTypeDetails -eq 'UserMailbox')
    ForEach ($member in $Mailboxes) {
        Remove-MailboxPermission $member.name -AccessRights FullAccess -user "Admin"
    }

Scénario 4 - Supprimer les autorisations d'accès complet uniquement des boîtes aux lettres de salle (boîtes aux lettres de salle de filtrage)

Syntaxe des commandes PowerShell :

$Mailboxes = Get-Mailbox -ResultSize unlimited -Filter { (RecipientTypeDetails -eq 'RoomMailbox')
    ForEach ($member in $Mailboxes) {
        Remove-MailboxPermission $member.name -AccessRights FullAccess -user "Admin"
    }

Articles connexes