Utilisation d’Exchange Online PowerShell pour l’affichage d’informations de boîte aux lettres Office 365

Exchange Online
 

Sapplique à :Exchange Online

Dernière rubrique modifiée :2018-03-01

Les administrateurs peuvent apprendre à utiliser Exchange Online PowerShell pour afficher des informations sur les boîtes aux lettres dans leur organisation Office 365.

Pour savoir ce qu’il est possible de faire avec PowerShell dans Office 365, examinons des boîtes aux lettres d’utilisateurs dans Exchange Online PowerShell.

Pour savoir comment utiliser une instance PowerShell distante pour vous connecter à Exchange Online, consultez Connexion à Exchange Online à l'aide de Remote PowerShell.

Vous pouvez facilement obtenir des informations sur la boîte aux lettres d’un utilisateur, par exemple, voici une commande qui renvoie des informations sur les boîtes aux lettres de Ken Myer :

Get-Mailbox -Identity "Ken Myer"

Cette commande renverra un résultat semblable à celui-ci :

Name      Alias       ServerName      ProhibitSendQuota
----      -----       ----------      -----------------
kenmyer   kenmyer     bn1pr02mb038    49.5 GB (53,150,220,288 bytes)

vous voyez l’alias et le quota de messagerie de Ken. Cependant, une boîte aux lettres Exchange Online offre bien plus d’informations que les quatre propriétés renvoyées par la cmdlet Get-Mailbox.

Voici un exemple de commande qui affiche toutes les informations pour une boîte aux lettres spécifique :

Get-Mailbox -Identity "Ken Myer" | Format-List

La commande indique à Exchange Online PowerShell de renvoyer toutes les propriétés disponibles pour la boîte aux lettres dans une liste. Il existe environ 200 propriétés et valeurs de propriétés différentes. Vous pouvez également utiliser les cmdlets Format-List et Format-Table pour renvoyer uniquement des valeurs de propriété spécifiques. Par exemple, vous pouvez également afficher les propriétés liées à la mise en attente pour litige concernant Ken Myer à l’aide de cette commande :

Get-Mailbox -Identity "Ken Myer" | Format-List DisplayName, LitigationHoldEnabled, LitigationHoldDate, LitigationHoldOwner, LitigationHoldDuration

Vous pouvez également utiliser des caractères génériques lorsque vous utilisez la cmdlet Format-List. Par exemple, toutes les propriétés de mise en attente pour litige commencent par les lettres lit. Vous pouvez récupérer ces informations à l’aide de la commande suivante :

Get-Mailbox -Identity "Ken Myer" | Format-List DisplayName, Lit*

Cette commande indique à la Get-Mailbox de récupérer la valeur de la propriété DisplayName de Ken, ainsi que les valeurs de toutes les propriétés dont le nom commence par les lettres lit. Voici un exemple du résultat obtenu :

DisplayName            : Ken Myer
LitigationHoldEnabled  : False
LitigationHoldDate     :
LitigationHoldOwner    :
LitigationHoldDuration : Unlimited

Vous pouvez renvoyer des informations sur plusieurs boîtes aux lettres en omettant le paramètre Identity. Cet exemple renvoie les propriétés DisplayName et LitigationHoldEnabled pour toutes les boîtes aux lettres :

Get-Mailbox -ResultSize unlimited | Format-Table -Auto DisplayName, LitigationHoldEnabled

Dans de nombreux cas, vous souhaitez uniquement examiner un sous-ensemble de vos boîtes aux lettres. Supposons que l’on vous demande d’obtenir une liste de toutes les boîtes aux lettres qui ont été mises en conservation pour litige. Vous pouvez utiliser la cmdlet Where-Object avec la cmdlet Get-Mailbox. La cmdlet Where-Object a besoin d’une expression de filtre pour indiquer à Exchange Online PowerShell l’ensemble de boîtes aux lettres qui vous intéresse.

Dans leur forme la plus simple, les expressions de filtre utilisent la syntaxe {<PropertyName> -<ComparisonOperator> <PropertyValue>}.

Voici quelques opérateurs de comparaison fréquemment utilisés :

  • eq (égal, ne respecte pas la casse)

  • ne (différent de, ne respecte pas la casse)

  • gt (supérieur à)

  • lt (inférieur à)

Pour obtenir la liste complète des opérateurs de comparaison, reportez-vous à Where-Object.

Les valeurs pour <PropertyValue> dépendent de la propriété et peuvent être des chaînes, des nombres ou des valeurs booléennes ($True ou $False), ou être vides ($Null). Des guillemets doivent être placés autour des valeurs de texte avec des espaces. Les valeurs numériques, les valeurs booléennes et la valeur $Null n’ont pas besoin d’être entourées de guillemets.

Pour revenir à notre exemple de toutes les boîtes aux lettres auxquelles a été affectée une conservation pour litige, l’expression de filtre est {LitigationHoldEnabled -eq $True} :

  • Le nom de la propriété est LitigationHoldEnabled.

  • L’opérateur de comparaison est eq.

  • La propriété que nous recherchons est $True.

Une fois que vous avez l’expression de filtre, vous pouvez créer la partie Where-Object de la commande à l’aide de la syntaxe suivante :

Get-Mailbox -ResultSize unlimited | Where-Object {$_.<Filter Phrase>}

Voici la commande pour notre exemple :

Get-Mailbox -ResultSize unlimited | Where-Object {$_.LitigationHoldEnabled -eq $True}

Voici un autre exemple : supposons que vous souhaitiez vous assurer que tous vos utilisateurs ont activé la règle de courrier indésirable. Voici une commande rapide permettant de trouver les utilisateurs qui n’ont pas activé cette règle :

Get-Mailbox -ResultSize unlimited | Get-MailboxJunkEmailConfiguration | Where-Object {$_.Enabled -eq $False}

Ce n’est qu’un exemple. Si vous souhaitez afficher un ensemble de boîtes aux lettres en fonction d’un paramètre et que vous ne pouvez pas filtrer en fonction de ce paramètre dans le Centre d’administration Office 365, procédez comme suit :

  1. Recherchez la propriété de boîte aux lettres qui correspond au paramètre qui vous intéresse en exécutant la commande Get-Mailbox -Identity "<MailboxIdentity" | Select-Object * pour répertorier toutes les propriétés d’une boîte aux lettres. <MailboxIdentity> est un identificateur unique pour la boîte aux lettres (nom, adresse de messagerie, alias, etc.)

  2. Créez votre commande PowerShell Office 365 comme suit : Get-Mailbox -ResultSize unlimited | Where-Object {$_.<PropertyName> -<ComparisonOperator> <PropertyValue>}

 
Afficher: