TP : Construire un mini inventaire de serveurs interactif

Sophie pose un dernier ticket avant la pause : « Sur le papier, j’ai une liste de serveurs avec leurs caractéristiques. Fais-en un petit script qui me permet de chercher un serveur par son nom, et qui m’affiche proprement ses infos. »

Objectif

Combiner variables, tableau de hashtables, Read-Host et Write-Host/Write-Output pour construire un mini-script interactif — sans boucle foreach ni if complexe : on reste sur ce qui a été vu jusqu’à la section 3 (un if simple est toléré si vous vous sentez à l’aise, mais pas obligatoire).

Consignes

Étape 1 — Créez un tableau de hashtables nommé $parcServeurs, contenant au moins 3 serveurs, chacun avec les clés Nom, RAM_Go et Critique (booléen).
Indice : revoyez la leçon 3.3, section « Un tableau de hashtables ».

Étape 2 — Avec Read-Host, demandez à l’utilisateur quel serveur il recherche, et stockez la réponse dans une variable $recherche.

Étape 3 — Parcourez $parcServeurs avec foreach, et pour le serveur dont le Nom correspond à $recherche, affichez ses informations avec Write-Output, sous la forme :
"SRV-01 : 16 Go de RAM - Critique : True"
Indice : revoyez la leçon 3.2, section « Parcourir un tableau », et utilisez l’interpolation de chaîne vue en 3.1 ("$($srv.Nom)").

Étape 4 — Avant d’afficher le résultat, affichez un message avec Write-Host en jaune : "Recherche en cours...". Vérifiez ensuite que ce message n’apparaît pas si vous stockez le résultat du script dans une variable.
Indice : revoyez la leçon 3.4, la différence entre Write-Host et Write-Output.

Étape 5 (bonus) — Si aucun serveur ne correspond à la recherche, affichez un message clair plutôt que de ne rien afficher du tout.

Solution commentée