Comment initialiser un tableau d'objets personnalisés dans PowerShell

  1. Utiliser les Tableaux dans Windows PowerShell
  2. Accéder à un Tableau dans Windows PowerShell
  3. Modifier des Éléments dans un Tableau à l’Aide de Windows PowerShell
  4. Itérer un Tableau dans Windows PowerShell
  5. Créer des Objets dans un Tableau à l’Aide de Windows PowerShell
  6. Accéder aux Objets dans un Tableau à l’Aide de Windows PowerShell
  7. Mettre à Jour des Objets dans un Tableau à l’Aide de Windows PowerShell
  8. Accéder aux Propriétés dans un Tableau à l’Aide de Windows PowerShell
  9. Créer une ArrayList dans Windows PowerShell
Comment initialiser un tableau d'objets personnalisés dans PowerShell

Les tableaux sont une caractéristique fondamentale de Windows PowerShell. Ceux-ci permettent d’ingérer, de manipuler et de produire des structures de données précises (et pas seulement des chaînes brutes).

Cette capacité rend PowerShell différent et plus pratique que d’autres langages de script.

Cet article expliquera ce que sont les tableaux, comment créer des tableaux dans Windows PowerShell, puis utiliser des fonctions essentielles pour les manipuler.

Utiliser les Tableaux dans Windows PowerShell

Les tableaux dans Windows PowerShell peuvent contenir un ou plusieurs éléments. Un tableau peut être une chaîne de caractères, un entier, un objet ou un autre tableau.

Chaque élément a un index qui commence à 0 et s’incrémente par élément.

La syntaxe de base pour créer un tableau est @().

$data = @()

Nous pouvons mettre des valeurs à l’intérieur des parenthèses après le @ :

$data = @('Zero', 'One', 'Two', 'Three')

Pour afficher les éléments dans le tableau, nous pouvons appeler la variable nommée :

$data

Sortie :

Zero
One
Two
Three

Accéder à un Tableau dans Windows PowerShell

Maintenant que nous avons un tableau, nous voudrons accéder aux éléments. Il existe plusieurs façons de le faire.

La première méthode consiste à utiliser l’index des éléments dans le tableau. Comme nous l’avons mentionné, les index commencent à 0.

Nous devons donc indiquer à Windows PowerShell de regarder l’élément dont l’index assigné est zéro pour récupérer le premier élément de notre tableau.

$data[0]

Cette syntaxe retournera la chaîne zero parce que c’était la première chaîne que nous avons placée dans notre tableau. Nous pouvons également étendre cet extrait pour renvoyer plusieurs éléments du même tableau en mettant plus d’index dans la même commande.

$data[0, 2, 3]

Sortie :

Zero
Two
Three

Modifier des Éléments dans un Tableau à l’Aide de Windows PowerShell

Nous pouvons utiliser la même méthode pour mettre à jour les éléments dans un tableau. Par exemple, pour mettre à jour l’élément dont l’index assigné est 2, nous pouvons exécuter :

$data[2] = 'second'

Cette méthode nous donne un accès direct aux éléments à l’intérieur d’un tableau.

Itérer un Tableau dans Windows PowerShell

L’une des fonctionnalités les plus puissantes de Windows PowerShell est de réaliser la même action sur tous les éléments d’un tableau. La méthode la plus simple consiste à utiliser un caractère de Pipeline (|).

Par exemple, pour ajouter une description à chaque élément de notre tableau, nous pouvons utiliser cette commande :

$data | ForEach-Object { "Item: [$PSItem]" }

Cette commande indique à l’environnement de script PowerShell de prendre les éléments du tableau $data un par un.

Créer des Objets dans un Tableau à l’Aide de Windows PowerShell

Nous pouvons créer un tableau rempli d’objets personnalisés en utilisant la même méthode avec des chaînes, en utilisant la fonction de tableau (@()). Par exemple, pour créer une liste test d’employés, nous pouvons utiliser :

$data = @(
    [pscustomobject]@{FirstName = 'Kevin'; LastName = 'Marquette' }
    [pscustomobject]@{FirstName = 'John'; LastName = 'Doe' }
)

La plupart des commandes natives de PowerShell retourneront un tableau rempli d’objets de ce type lorsque vous leur attribuez une variable à manipuler.

Accéder aux Objets dans un Tableau à l’Aide de Windows PowerShell

Le processus que nous avons suivi auparavant pour accéder à des données individuelles peut également être utilisé avec des tableaux contenant des objets.

$data[0]

Sortie :

FirstName LastName
-----     ----
John     Hampton

Alternativement, nous pouvons obtenir les propriétés des objets individuels en spécifiant quelle propriété nous aimerions appeler dans la même commande.

$data[0].FirstName

Sortie :

John

Mettre à Jour des Objets dans un Tableau à l’Aide de Windows PowerShell

La syntaxe exacte nous permet de mettre à jour des propriétés individuelles au sein des objets contenus dans des tableaux.

$data[0].FirstName = 'Jay'

Accéder aux Propriétés dans un Tableau à l’Aide de Windows PowerShell

Dans la plupart des langages de programmation et de script, nous devrions utiliser une méthode itérative pour accéder à toutes les propriétés dans divers objets. Nous pouvons faire cela dans Windows PowerShell aussi.

$data | ForEach-Object { $_.LastName }

Cette méthode retournera une liste de toutes les propriétés LastName dans notre tableau, mais elle est coûteuse en ressources et difficile à écrire à chaque fois que vous souhaitez voir ces données. Donc, au lieu de cela, PowerShell a un raccourci.

$data.LastName

Et vous verrez la même liste. PowerShell prend chaque objet à tour de rôle, tout comme avant, mais cache cette complexité.

Créer une ArrayList dans Windows PowerShell

Ajouter des éléments à des tableaux peut être difficile. Cependant, ArrayList gère cela de manière plus élégante, un type de collection différent.

Cependant, nous devrons utiliser le framework .NET pour utiliser ce type de collection. Pour créer une ArrayList et y ajouter des éléments, exécutez ce qui suit :

$myarray = [System.Collections.ArrayList]::new()

[void]$myArray.Add('Value')