Vandaag is de cmdlet van de dag PowerShell Test-Connection. Test-Connection
is een cmdlet die, niet verrassend, je netwerkverbinding test. Denk aan Test-Connection
als de PowerShell-implementatie van het populaire ping-hulpprogramma. Hoewel beide ICMP gemeen hebben, zul je zien dat de twee methoden onder de motorkap een beetje verschillen.
Het gebruik van deze cmdlet is eenvoudig. Op zijn meest basisniveau geef je gewoon een ComputerName
-parameter op, en het zal vier ICMP-verzoeken naar het doelhost sturen.
Deze uitvoer lijkt op die van ping.exe en op het eerste gezicht is het dat ook, maar Powershell test-connection verstuurt het ICMP-verzoek net iets anders. In tegenstelling tot ping.exe gebruikt Test-Connection
de lokale WMI-klasse Win32_PingStatus om het ICMP-verzoek te versturen. Het gebruik van de lokale WMI-repository betekent dat je ervoor moet zorgen dat je lokale WMI-repository gezond is, anders zal Test-Connection
niet werken.
Objectuitvoer van PowerShell Test-Connection
Ook, net als met de kracht van PowerShell, geeft deze cmdlet niet alleen terug wat direct in de console verschijnt. We zien rijke objecten waaruit we meer informatie kunnen halen.
Als ik de uitvoer toewijs aan een variabele en vervolgens de eigenschappen bekijk, zie je dat ik veel meer nuttige informatie heb verzameld.
Als je interne hosts test, zal Test-Connection
DCOM gebruiken om verbinding te maken met externe hosts. Standaard zal het Pakketniveau DCOM-authenticatie gebruiken, maar het authenticatietype kan altijd worden gewijzigd met de parameter DcomAuthentication
.
Het uitvoeren als achtergrondtaak
Deze cmdlet kan ook worden uitgevoerd als achtergrondtaak. Achtergrondtaken zijn handig als je veel externe computers moet pingen en in plaats van eindeloos te wachten op die uiteindelijk time-out zullen gaan, stuur je het gewoon naar een achtergrondtaak.
Volgens de PowerShell-help voor Powershell-testverbindingen staat er dat PowerShell-remoting moet zijn ingeschakeld op zowel de lokale als externe computers, maar dit is niet waar. Zoals je hieronder kunt zien, test ik google.com, en de opdracht werkt nog steeds prima.


Het simpel houden
Als je alleen een binair ja/nee-antwoord wilt of een computer reageert of niet, kun je altijd de parameter Quiet
gebruiken. Een veelgebruikte string die ik altijd gebruik om snel te zien of een server online is of niet, is om Quiet
en Count
van 1 te gebruiken om Test-Connection
te dwingen een enkel ICMP-verzoek te sturen.
Dat is het voor onze cmdlet van de dag! We hebben het grootste deel behandeld van wat mogelijk is met Powershell test-connection, maar zoals altijd, bekijk de PowerShell helpinhoud of ga naar de Microsoft-documentatie voor een volledige uitleg.
Source:
https://adamtheautomator.com/powershell-test-connection/