Windows PowerShell filtre efficacement les données

 

Dernière rubrique modifiée : 2013-12-13

Le Centre d’administration Office 365 fournit plusieurs façons de filtrer vos données, c’est-à-dire de localiser rapidement et facilement un sous-ensemble ciblé d’informations. Par exemple, Exchange facilite le filtrage sur pratiquement toutes les propriétés de la boîte aux lettres d’un utilisateur. Vous souhaitez obtenir une liste des boîtes aux lettres de tous les utilisateurs qui habitent Bloomington ? Aucun problème :

Boîte de dialogue de recherche avancée Exchange Online.

Le Centre d’administration Exchange permet également de combiner les critères de filtrage. Par exemple, vous pouvez rechercher les boîtes aux lettres de toutes les personnes qui résident à Bloomington et qui travaillent au ministères des finances. Que pourriez-vous demander de plus ? Rien, n’est-ce pas ?

Bien. Il se pourrait également que vous souhaitiez rechercher les boîtes aux lettres de personnes résidant à Bloomington ou à San Diego ; ou encore celles de personnes qui ne résident pas à Bloomington. Vous avez saisi l’idée. Vous pensez qu’il est impossible de créer ce type de filtres dans le Centre d’administration, n’est-ce pas ?

Vous avez raison. Cependant, vous pouvez créer ce type de filtres à l’aide de Windows PowerShell. Par exemple, si vous souhaitez obtenir une liste des boîtes aux lettres de tous les habitants de Bloomington ou de San Diego : Tentez d’utiliser la commande suivante :

Get-User | Where-Object {$_.RecipientTypeDetails -eq "UserMailbox" -and ($_.City -eq "San Diego" -or $_.City -eq "Bloomington")} | Select DisplayName, City

Certes, cette commande est un peu plus complexe que celles que nous avons vues jusqu’à présent. Mais ce n’est pas un problème : une fois que vous comprenez l’action que vous effectuez, ce type de commande est assez facile à utiliser. Et surtout, elles fonctionnent :

DisplayName                              City
-----------                              ----
Alex Darrow                              San Diego
Bonnie Kearney                           San Diego
Julian Isla                              Bloomington
Rob Young                                Bloomington
Zrinka Makovac                           San Diego

Que diriez-vous de répertorier les boîtes aux lettres des personnes habitant n’importe où sauf à Bloomington ? C’est encore plus simple :

Get-User | Where-Object {$_.RecipientTypeDetails -eq "UserMailbox" -and $_.City -ne "Bloomington"} | Select DisplayName, City

Comme vous pouvez le constater, aucun habitant de Bloomington n’apparaît dans le groupe suivant :

DisplayName                               City
-----------                               ----
MOD Administrator                         Redmond
Alex Darrow                               San Diego
Allie Bellew                              Bellevue
Anne Wallace                              Louisville
Aziz Hassouneh                            Cairo
Belinda Newman                            Charlotte
Bonnie Kearney                            San Diego
David Longmuir                            Waukesha
Denis Dehenne                             Birmingham
Garret Vargas                             Seattle
Garth Fort                                Tulsa
Janet Schorr                              Bellevue

En outre, avec Windows PowerShell vous pouvez utiliser les caractères génériques dans vos filtres. Cela a-t-il de l’importance ? Oui, dans certains cas. Supposons que vous recherchiez un utilisateur et que vous vous rappeliez uniquement de son nom, Anderson (ou Henderson). Son nom pourrait même être Jorgenson. En tout cas, l’orthographe était similaire.

Comment parvenir à identifier cet utilisateur ? Dans le Centre d’administration, vous pouvez utiliser l’outil de recherche et effectuer trois recherches différentes :

  • Une sur Anderson

  • Une sur Henderson

  • Une sur Jorgenson

Cela fonctionne. Les recherches prennent un certain temps, mais elles aboutissent.

Pensez-vous alors qu’il est plus facile de localiser cet utilisateur à l’aide de Windows PowerShell ? Exactement !

Get-User -Filter '{LastName -like "*son"}'

Bien joué.


À suivre : Windows PowerShell facilite l’impression ou l’enregistrement des données

 
Afficher: