Un petit exemple en Power Shell


Exécuter à distance un script ou une commande sur plusieurs PCs dont les noms figurent dans un fichier CSV, à raison de 1 par Ligne (marche aussi avec du TXT…)

foreach ($Computer in Get-Content C:\temp\ClientFix.csv) {Invoke-Command -ComputerName $Computer -ScriptBlock {{COMMANDE}}

On prends le fichier C:\temp\Clients.csv et on le lit avec Get-content.

On annote ligne par ligne la valeur lue dans $computer

avec le foreach on fait la boucle pour répéter l’opération jusqu’à la fin du fichier.

et avec {Invoke-Command -ComputerName $Computer -ScriptBlock {COMMANDE}}, on exécute la COMMANDE (Invoke-command) sur le client distant (-computername) actuellement contenu dans la variable $computer. Dans le script ci dessus, les caractères { …. } servent à délimiter une action groupée (le lancement de la commande sur chacun des client) alors que les (….) servent à délimiter une condition qui dure et se répète tant que foreach ne finit pas.

Simple et efficace!

un bon exemple, mon script de rafraichissement des actions du client SCCM disponible sur la galerie Technet Script Center,ici : https://gallery.technet.microsoft.com/Remote-SCCM-Client-Actions-1afc136c

Un petit exemple simple de la facilité qu’apporte Power Shell dans les taches d’administration récurrentes Sourire

bon Scripting et bon lundi!

Pierre.

A propos Red Kaffe

IT Trainer and Consultant on Microsoft Technologies. Windows Server and Client, Service Center 2012, WSUS/MDT/ADK/WAIK, SBS 2008/2011, Office 365, etc. Fully dedicated to support and train my customers...
Cet article a été publié dans Formation, PowerShell, Scripting. Ajoutez ce permalien à vos favoris.

Votre commentaire

Entrez vos coordonnées ci-dessous ou cliquez sur une icône pour vous connecter:

Logo WordPress.com

Vous commentez à l’aide de votre compte WordPress.com. Déconnexion /  Changer )

Photo Facebook

Vous commentez à l’aide de votre compte Facebook. Déconnexion /  Changer )

Connexion à %s