Utilisation des rapports Exchange Online

 

Dernière rubrique modifiée : 2014-06-18

**Résumé :**Utilisez Windows PowerShell pour gérer Office 365 à l'aide des applets de commande, des scripts et des processus de traitement par lots Windows PowerShell.

Avec près de 500 cmdlets à votre disposition, cet article ne peut traiter qu’une infime partie de ce que vous pouvez faire avec Windows PowerShell et Exchange Online. Mais voici quelques commandes que vous pourriez trouver utiles. Souvent, les administrateurs aiment savoir si les gens utilisent réellement le système ; par exemple, peut-être aimeriez-vous savoir si des utilisateurs n’ont pas ouvert leur boîte aux lettres Outlook depuis la semaine dernière ou le mois dernier. Windows PowerShell est parfait pour effectuer ce type de rapport. Par exemple, voici une commande qui renvoie toutes les boîtes aux lettres auxquelles personne ne s’est connecté depuis le 1er novembre 2013 :

Get-Mailbox | Get-MailboxStatistics | Where-Object {$_.LastLogonTime -lt "11/1/2013"}

Et voici une commande qui renvoie toutes les boîtes aux lettres auxquelles personne ne s’est jamais connecté :

Get-Mailbox | Get-MailboxStatistics | Where-Object {$_.LastLogonTime -eq $Null}

C’est bien, n’est-ce pas ? Voici comment vous pouvez obtenir la liste des utilisateurs qui ont plus de 10 000 éléments dans leur boîte aux lettres :

Get-Mailbox | Get-MailboxStatistics | Where-Object {$_.ItemCount -gt 10000}

Comme vous pouvez l’imaginer, nous pourrions le faire dès maintenant. Mais nous ne le ferons pas.

Sans entrer dans les détails, voici quelques-unes des nombreuses cmdlets qui peuvent être utilisées pour renvoyer des informations de rapports et des statistiques :

C’est ce que nous vous avions dit : c’est vraiment bien.

RemarqueRemarque :
Si vous examinez attentivement la liste, vous verrez la cmdlet Get-CsConferenceReport. La partie Get-Cs de ce nom de cmdlet indique qu’il s’agit d’une cmdlet Lync Online, et non d’une cmdlet Exchange Online. Cela est-il vrai ?
Cela dépend de l’angle sous lequel vous souhaitez voir les choses. Cette cmdlet (ainsi que d’autres cmdlets de création de rapports Get-Cs) ne renvoie pas d’informations sur Lync Online, et elle a été créée par l’équipe Lync Online. Toutefois, les cmdlets de création de rapports Get-Cs requièrent le service de rapport d’Exchange Online pour générer et renvoyer des données. Cela signifie que vous devez disposer d’un abonnement à Exchange Online pour utiliser ces cmdlets. Si vous ne disposez pas d’abonnement à Exchange Online, vous n’aurez pas accès au service de rapport. C’est la raison pour laquelle ces cmdlets sont incluses dans le module Exchange plutôt que dans le module Lync Online. Si vous démarrez Windows PowerShell et que vous chargez uniquement le module Lync Online, vous ne verrez aucune des cmdlets de création de rapports Get-Cs. Pour résumer, vous devez charger le module Exchange afin de générer des rapports Lync Online.

Quel type de rapports pouvez-vous générer à l’aide des cmdlets de création de rapports ? Comme l’indiquent les noms des cmdlets, ainsi que les exemples que nous vous avons déjà donnés, la réponse est la suivante : à peu près n’importe quel type de rapports auxquels vous pouvez penser. Mais examinons de plus près une cmdlet utile que nous vous avons déjà présentée : Get-MailboxStatistics. Get-MailboxStatistics est conçue pour renvoyer des informations détaillées sur les boîtes aux lettres des utilisateurs. Par défaut, Get-MailboxStatistics renvoie des informations semblables à celles-ci pour une seule boîte aux lettres :

DisplayName    ItemCount    StorageLimitStatus    LastLogonTime
-----------    ---------    ------------------    -------------
Alex Darrow    29                                 10/8/2013 3:18:05 PM

Comme vous pouvez le voir, même ce simple rapport contient des informations très utiles, comme le nombre total d’éléments figurant dans la boîte aux lettres d’Alex (ItemCount) et la dernière fois qu’Alex s’est connecté (LastLogonTime).

RemarqueRemarque :
Bonne question : comment avons-nous récupéré ces informations ? En fait, nous avons exécuté la commande Windows PowerShell suivante :
Get-MailboxStatistics –Identity "alexd"

Cependant, il y a sans aucun doute beaucoup plus d’informations à obtenir de ces éléments. Par exemple, nous aimerions peut-être connaître la taille totale des éléments figurant dans la boîte aux lettres d’Alex. Dans ce cas, nous pourrions exécuter cette commande :

Get-MailboxStatistics -Identity "alexd" | Select-Object DisplayName, TotalItemSize

Ou peut-être aimerions-nous connaître le nombre d’éléments supprimés de la boîte aux lettres d’Alex. Aucun problème :

Get-MailboxStatistics -Identity "alexd" | Select-Object DisplayName, DeletedItemCount

Ou peut-être aimerions-nous connaître les deux informations :

Get-MailboxStatistics -Identity "alexd" | Select-Object DisplayName, TotalItemSize, DeletedItemCount

Vous avez saisi l’idée. Pour voir toutes les valeurs de propriété qui peuvent être renvoyées à l’aide de la cmdlet Get-MailboxStatistics, il suffit d’exécuter une commande semblable à celle-ci :

Get-MailboxStatistics -Identity "alexd" | Select-Object *

Et bien sûr, vous pouvez consulter les statistiques de boîte aux lettres de plus d’une boîte aux lettres à la fois. Vous souhaitez obtenir un rapport répertoriant des informations sur toutes vos boîtes aux lettres ? Sitôt dit, sitôt fait :

Get-Mailbox | Get-MailboxStatistics

Cette commande renvoie des informations semblables à celles-ci :

DisplayName    ItemCount  StorageLimitStatus    LastLogonTime
-----------    ---------  ------------------    -------------
Alex Darrow     29                              10/8/2013 1:18:05 PM
Allie Bellew    3                               11/8/2013 9:18:21 PM
Anne Wallace    3                               10/21/2013 3:18:45 PM
Aziz Hassouneh  2                               10/18/2013 2:19:05 PM
Belinda Newman  21                              10/4/2013 3:19:26 PM
Bonnie Kearn    13                              10/8/2013 8:19:50 PM

Is that cool or what?

Vous n’êtes pas non plus limité aux deux options suivantes : récupérer des informations d’une boîte aux lettres ou de toutes vos boîtes aux lettres. À la place, vous pouvez écrire toutes sortes de petites commandes Windows PowerShell asticieuses qui renvoient des informations pour un sous-ensemble de boîtes aux lettres. Besoin d’informations pour seulement trois de vos boîtes aux lettres ? Il suffit alors de canaliser les informations d’identification vers Get-MailboxStatistics. Par exemple :

"Alex Darrow", "Allie Bellew", "Anne Wallace" | Get-MailboxStatistics

Cela renvoie des données uniquement pour les trois boîtes aux lettres indiquées :

DisplayName    ItemCount  StorageLimitStatus    LastLogonTime
-----------    ---------  ------------------    -------------
Alex Darrow     29                              10/8/2013 1:18:05 PM
Allie Bellew    3                               11/8/2013 9:18:21 PM
Anne Wallace    3                               10/21/2013 3:18:45 PM

Ou peut-être souhaitez-vous générer un rapport pour toutes les boîtes aux lettres appartenant au service financier. Ceci peut être effectué avec une commande semblable à celle-ci :

Get-User -Filter '{Department -eq "Finance"}' | Get-MailboxStatistics

Qu’en est-il de cette commande qui renvoie la liste de tous les utilisateurs qui ne se sont pas connectés depuis le 31 octobre 2013 (c’est-à-dire que leur dernière connexion est inférieure à [-lt] 10/31/2013) :

Get-Mailbox | Get-MailboxStatistics | Where-Object {$_.LastLogonTime -lt "11/1/2013"}

Bien.

À suivre : Détermination des cmdlets à la disposition des administrateurs Exchange Online

Voir aussi

Concepts

Utilisation de Windows PowerShell pour gérer Exchange Online