Comme vous le savez, PowerShell manipule essentiellement des objets et c’est d’ailleurs de là d’où il tire une grande partie de sa puissance. Il est par conséquent préférable de s’efforcer à suivre cette logique plutôt que de se contenter de retourner simplement une valeur en tant
10. Retourner un objet plutôt que du texte
que résultat d’une fonction (ou d’un script). Ainsi, il devient possible de passer les résultats à travers le pipeline à destination d’autres commandes pour par exemple trier un tableau, filtrer des lignes ou encore simplement compter le nombre de résultats.
Prenons l’exemple suivant : lister quelques propriétés des comptes présents dans l’annuaire Active Directory. Les propriétés que nous avons choisies sont : SamAccountName, Given Name, Surname Nous avons pour les comptes suivants dans notre Active Directory : Voir Figure 1. Voici un exemple de script que nous pourrions écrire et qui pourrait faire l’affaire : voir listing 5.
Le résultat obtenu est le suivant : PetitjeanA PETITJEAN Arnaud LemesleR LEMESLE Robin DupontJ DUPONT Jean
A présent, efforçons-nous dans notre script de retourner un tableau d’objets et non plus simplement une chaîne de caractères. Pour ce faire, nous allons utiliser la commandelette Add-Member. Celle-ci est très pratique car elle permet d’ajouter des membres (propriétés ou méthodes) à des objets. Voir listing 6. Nota : le caractère « ` » appelé « back tick » ou guillemet inversé sert à couper proprement une ligne de script.
L’interpréteur PowerShell sait alors qu’il doit aller chercher le reste du code à la ligne suivante. Voyons à présent le résultat : SamAccountName Nom Prenom ————– — —— PetitjeanA PETITJEAN Arnaud LemesleR LEMESLE Robin DupontJ DUPONT Jean
Nous pouvons observer que nous avons à présent une entête à chaque colonne.
Ce qui est déjà plus présentable que le résultat de notre premier script. Mieux encore, comme le résultat présent est un tableau d’objets et non plus simplement du texte, nous allons pouvoir trier le résultat. Par exemple, si nous voulons le trier sur le nom, il suffit de remplacer la dernière ligne de notre script par « $table | Sort- Object Nom ».
Ce qui nous donne : SamAccountName Nom Prenom ————– — —— DupontJ DUPONT Jean LemesleR LEMESLE Robin PetitjeanA PETITJEAN Arnaud
Téléchargez cette ressource
Sécuriser Microsoft 365 avec une approche Zero-Trust
Découvrez comment renforcer la cyber-résilience de Microsoft 365 grâce à une approche Zero-Trust, une administration granulaire et une automatisation avancée. La technologie Virtual Tenant de CoreView permet de sécuriser et simplifier la gestion des environnements complexes, tout en complétant vos stratégies IAM, y compris dans les secteurs réglementés.
Les articles les plus consultés
- Et si les clients n’avaient plus le choix ?
- Activer la mise en veille prolongée dans Windows 10
- Partager vos images, vidéos, musique et imprimante avec le Groupe résidentiel
- Afficher les icônes cachées dans la barre de notification
- N° 2 : Il faut supporter des langues multiples dans SharePoint Portal Server
Les plus consultés sur iTPro.fr
- Veeam passe à la vitesse supérieure avec iResOps pour Microsoft 365
- Visibilité, réputation, clients : ce que les petites entreprises ne pourront plus déléguer en 2027
- IA souveraine : l’Europe avance, mais son interconnexion prend du retard
- Cloud public : la sécurité des données s’impose comme premier critère pour les agents publics
Articles les + lus
Continuer avec Exchange Server : quelles conséquences ?
Raccourcis Réseau et Navigateur : le kit de Diagnostic des Professionnels IT
Raccourcis PowerShell et Windows Terminal pour les Professionnels IT
Commandes Windows 11 : le Guide des Outils accessibles avec Win + R
Sécurité : une approche dans la durée avant tout
À la une de la chaîne Tech
- Continuer avec Exchange Server : quelles conséquences ?
- Raccourcis Réseau et Navigateur : le kit de Diagnostic des Professionnels IT
- Raccourcis PowerShell et Windows Terminal pour les Professionnels IT
- Commandes Windows 11 : le Guide des Outils accessibles avec Win + R
- Sécurité : une approche dans la durée avant tout
