Auteur de questions
Faire ralentir Execution PowerShell

Question
-
Bonjour,
J'ai ce script qui permet de faire des pings sur des serveurs à partir d'un fichier. (J'ai pris le script depuis le technet)
https://gallery.technet.microsoft.com/scriptcenter/Ping-servers-in-TXT-file-26d12fa4
$servers = Get-Content C:\serverlist.txt $collection = $() foreach ($server in $servers) { $status = @{ "ServerName" = $server; "TimeStamp" = (Get-Date -f s) } if (Test-Connection $server -Count 1 -ea 0 -Quiet) { $status["Results"] = "Up" } else { $status["Results"] = "Down" } New-Object -TypeName PSObject -Property $status -OutVariable serverStatus $collection += $serverStatus } $collection | Export-Csv C:\ServerStatus.csv -NoTypeInformation
Mon problème que le script s'exécute trop rapidement et que le résutat est faux. Il me met tout mes serveurs Down alors que cela n'est pas vrai.
Comment faire.
Merci d'avance
- Déplacé Jean-Sébastien DUCHÊNEMVP jeudi 31 octobre 2019 17:48 Mauvais Forum
Toutes les réponses
-
Bonjour,
Je crois comprendre dans votre demande que le test de connexion effectué génère des faux positifs (commande Test-Connection).
Cela est certainement dû à une résolution de noms trop tardive, associée à un test de connexion (ping) unique (-Count 1).
Dans ce cas, je vous conseille d'augmenter la valeur de Count (passez à 3 ou 4).
Cordialement,
Sylvain (MCP, MCTS Windows Server 2008 R2 Server Virtualization, MCTS Exchange 2010)
WWW : http://snsv.consulting | Blog : http://sylvaincoudeville.fr
-
-
Avez-vous essayé pour commencer, de tester la portion de code qui fait le test, pour voir si elle fonctionne ?
if (Test-Connection "unserveurdetest" -Count 1 -ea 0 -Quiet) { $status["Results"] = "Up" } else { $status["Results"] = "Down" }
En effet, si la commande Test-Connection ne fonctionne pas dans votre environnement (pour quelque raison que se soit), vous allez chercher loin inutilement.
De la même manière, avez-vous vérifié que $server est bien peuplé avec le nom (ou l'IP) du serveur à tester avant l'exécution de la commande Test-Connection?
Cordialement,
Sylvain (MCP, MCTS Windows Server 2008 R2 Server Virtualization, MCTS Exchange 2010)
WWW : http://snsv.consulting | Blog : http://sylvaincoudeville.fr
-
-
Dans ce cas, il est fort probable qu'il s'agisse d'un problème réseau et non de script.
Essayez de simuler les tests en enchaînant les Test-Connection xxxxx pour voir ce qui se passe en "conditions réelles".
Sinon, vous pouvez "ralentir" l'exécution du script en ajoutant un Start-Sleep pour faire une pause à la fin de chaque occurrence de Foreach
Cordialement,
Sylvain (MCP, MCTS Windows Server 2008 R2 Server Virtualization, MCTS Exchange 2010)
WWW : http://snsv.consulting | Blog : http://sylvaincoudeville.fr