> Tech > 10. Retourner un objet plutôt que du texte

10. Retourner un objet plutôt que du texte

Tech - Par Renaud ROSSET - Publié le 24 juin 2010
email

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

Guide de technologie 5G pour l’entreprise

Guide de technologie 5G pour l’entreprise

Pourquoi la 5G est-elle faite pour votre entreprise ? La 5G peut améliorer la vitesse, la fiabilité et la capacité de votre réseau, permettant ainsi une meilleure collaboration, une productivité accrue et une prise de décision plus rapide. Notre livre blanc " The Big Book of Enterprise 5G" vous fournit les informations stratégiques dont vous avez besoin pour prendre des décisions éclairées et préparer votre entreprise à prospérer dans l'ère de la 5G. Cradlepoint, part of Ericsson est le leader mondial des solutions de réseau sans fil 4G LTE et 5G fournies via le cloud. Connectez vos employés, lieux et objets avec la 4G LTE et la 5G pour un WAN sans fil d'entreprise.

Tech - Par Renaud ROSSET - Publié le 24 juin 2010