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 :
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