[POWERSHELL] La boucle FOREACH

Hello à tous !
Voici une instruction de Powershell qui sert énormément.
Aujourd’hui, notre exemple est le suivant :
Nous devons récupérez les logs d’une vingtaine de poste.
Pour ce faire, nous allons récupérer nos postes et les mettre dans un fichier txt. Notez les uns sous les autres.
$PCS = Get-Content "C:\OneDrive\Script\list.txt"
Ici, nous définissons notre variable $PCS avec le cmdlet Get-Content.
La valeur de notre variable est égale au contenu de notre fichier “C:\OneDrive\Script\list.txt”.
Maintenant, réfléchissons à la manière de récupérer les logs désirés.
Voici le script :
Copy-Item -filter *.log "\\PC\c\program Files\NPortAdminSuite\bin\" "C:\OneDrive\Script\$PC\" -Recurse
Le cmdlet Copy-Item nous permet de copier des fichiers.
L’option -filter *.log permet de prendre uniquement les fichiers avec l’extension .log
Le 1er chemin correspond à la source.
Le 2nd correspond à la destination.
Maintenant, nous devons faire en sorte que chaque ligne de notre fichier texte, où sont inscrit les postes, soit traitée pour que nous puissions récupérer nos logs.
foreach (PC inPCS) {}
Nous utiliserons la boucle foreach.
Entre (), nous déclarons une nouvelle variable $PC.
Elle correspond à chaque ligne de notre fichier texte.
Maintenant, mettons tout cela en ordre :
Tous les PC présents dans notre fichier texte seront traités.
Ainsi, nous récupérerons tous les fichiers logs en un clic !
C’est merveilleux !