Windows Server 2012 – Pinger une liste de machines avec PowerShell

Lorsque vous souhaitez effectuer des opérations sur une liste de machines, il peut être utile de s’assurer qu’elles sont up avant de commencer. Dans ce post je vous propose de réaliser cela grâce à la commande PowerShell « Test-connection« .

Cette commande réalise un ping classique sur une machine distante. en lançant par exemple:

Test-Connection -ComputerName LAB-DC

vous obtenez le résultat suivant:

MassPing-01

Jusque la, on est sur un résultat de ping tout a fait normal. Le paramètre « -count » vous permet d’ajuster le nombre de paquet envoyés. Par exemple:

Test-Connection -ComputerName LAB-DC -count 1

n’enverra qu’un seul paquet ICMP à la machine distante.

Le paramètre « -quiet » vous renvoie un booléen.

Avec ces paramètres, il devient facile de tester si une machine est up ou non avant de lancer des actions. Ainsi, par exemple, le code suivant vous permet de tester si la liste de machines contenues dans un fichier texte est disponible ou pas:

$comps = Get-Content "c:\temp\list.txt"

foreach ($comp in $comps)
	{
	if (Test-Connection $comp -count 1 -quiet)
		{
		Write-Host "$comp is up"
		}
	else
		{
		Write-Host "$comp is not available"
		}
	}

Et le résultat:

MassPing-02

Il ne reste plus qu’à intégrer ceci dans vos scripts avant de lancer vos opérations!!
Vous retrouverez les références de cette commande PowerShell ICI.

Please follow and like us:

Comments

  1. By Lesire

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Social media & sharing icons powered by UltimatelySocial