Test-Connection
Hiermee worden ICMP-echoaanvraagpakketten of pings verzonden naar een of meer computers.
Syntaxis
Test-Connection
[-TargetName] <string[]>
[-Ping]
[-IPv4]
[-IPv6]
[-ResolveDestination]
[-Source <string>]
[-MaxHops <int>]
[-Count <int>]
[-Delay <int>]
[-BufferSize <int>]
[-DontFragment]
[-Quiet]
[-TimeoutSeconds <int>]
[<CommonParameters>]
Test-Connection
[-TargetName] <string[]>
-Repeat
[-Ping]
[-IPv4]
[-IPv6]
[-ResolveDestination]
[-Source <string>]
[-MaxHops <int>]
[-Delay <int>]
[-BufferSize <int>]
[-DontFragment]
[-Quiet]
[-TimeoutSeconds <int>]
[<CommonParameters>]
Test-Connection
[-TargetName] <string[]>
-Traceroute
[-IPv4]
[-IPv6]
[-ResolveDestination]
[-Source <string>]
[-MaxHops <int>]
[-Quiet]
[-TimeoutSeconds <int>]
[<CommonParameters>]
Test-Connection
[-TargetName] <string[]>
-MtuSize
[-IPv4]
[-IPv6]
[-ResolveDestination]
[-Quiet]
[-TimeoutSeconds <int>]
[<CommonParameters>]
Test-Connection
[-TargetName] <string[]>
-TcpPort <int>
[-IPv4]
[-IPv6]
[-ResolveDestination]
[-Source <string>]
[-Count <int>]
[-Delay <int>]
[-Repeat]
[-Quiet]
[-TimeoutSeconds <int>]
[-Detailed]
[<CommonParameters>]
Description
Met de Test-Connection
cmdlet worden ICMP-echoaanvragenpakketten (Internet Control Message Protocol) of pings verzonden naar een of meer externe computers en worden de antwoorden van de echoreactie geretourneerd. U kunt deze cmdlet gebruiken om te bepalen of een bepaalde computer kan worden gecontacteerd via een IP-netwerk.
U kunt de parameters van Test-Connection
gebruiken om zowel de verzendende als ontvangende computers op te geven, om de opdracht uit te voeren als achtergrondtaak, om een time-out en aantal pings in te stellen en om de verbinding en verificatie te configureren.
In tegenstelling tot de vertrouwde ping opdracht, retourneert Test-Connection
een TestConnectionCommand+PingStatus object dat u in PowerShell kunt onderzoeken. De parameter Quiet retourneert een Booleaanse-waarde in een System.Boolean-object voor elke geteste verbinding. Als er meerdere verbindingen worden getest, wordt een matrix van Booleaanse-waarden geretourneerd.
Voorbeelden
Voorbeeld 1: Echoaanvragen verzenden naar een externe computer
In dit voorbeeld worden echoaanvraagpakketten van de lokale computer naar de Server01-computer verzonden.
Test-Connection -TargetName Server01 -IPv4
Destination: Server01
Ping Source Address Latency BufferSize Status
(ms) (B)
---- ------ ------- ------- ---------- ------
1 ADMIN1 10.59.137.44 24 32 Success
2 ADMIN1 10.59.137.44 39 32 Success
3 ADMIN1 * * * TimedOut
4 ADMIN1 10.59.137.44 28 32 Success
Test-Connection
gebruikt de parameter TargetName om de Server01-computer op te geven. De parameter IPv4 geeft het protocol voor de test op.
Een reeks TestConnectionCommand+PingStatus--objecten worden verzonden naar de uitvoerstroom, één object per pingantwoord van de doelcomputer.
Voorbeeld 2: Echoaanvragen verzenden naar verschillende computers
In dit voorbeeld worden pings vanaf de lokale computer verzonden naar verschillende externe computers.
Test-Connection -TargetName Server01, Server02, Server12
Voorbeeld 3: Parameters gebruiken om de testopdracht aan te passen
In dit voorbeeld worden de parameters van Test-Connection
gebruikt om de opdracht aan te passen. De lokale computer verzendt een pingtest naar een externe computer.
Test-Connection -TargetName Server01 -Count 3 -Delay 2 -MaxHops 255 -BufferSize 256
Test-Connection
gebruikt de parameter TargetName om Server01 op te geven. De parameter Count geeft aan dat er drie pings worden verzonden naar de Server01-computer met een Delay van intervallen van 2 seconden.
U kunt deze opties gebruiken wanneer het ping-antwoord naar verwachting langer duurt dan normaal, ofwel vanwege een uitgebreid aantal hops of een netwerkvoorwaarde met veel verkeer.
Voorbeeld 4: Een test uitvoeren als achtergrondtaak
In dit voorbeeld ziet u hoe u een Test-Connection
-opdracht uitvoert als een PowerShell-achtergrondtaak.
$job = Start-Job -ScriptBlock { Test-Connection -TargetName (Get-Content -Path "Servers.txt") }
$Results = Receive-Job $job -Wait
De opdracht Start-Job
gebruikt de Test-Connection
-cmdlet om veel computers in een onderneming te pingen.
De waarde van de parameter TargetName is een Get-Content
opdracht waarmee een lijst met computernamen uit het Servers.txt
bestand wordt gelezen. De opdracht maakt gebruik van de Start-Job
cmdlet om de opdracht uit te voeren als achtergrondtaak en slaat de taak op in de $job
variabele.
De opdracht Receive-Job
wordt geïnstrueerd om te -Wait
totdat de taak is voltooid, waarna de resultaten worden opgehaald en opgeslagen in de $Results
variabele.
Voorbeeld 5: Een sessie alleen maken als een verbindingstest slaagt
In dit voorbeeld wordt alleen een sessie op de Server01-computer gemaakt als ten minste één van de pings die naar de computer worden verzonden, slaagt.
if (Test-Connection -TargetName Server01 -Quiet) { New-PSSession -ComputerName Server01 }
De Test-Connection
-cmdlet pingt de Server01
-computer, waarbij de parameter Quiet wordt meegegeven.
De resulterende waarde wordt $True
als een van de vier pings slaagt. Als geen van de pings slaagt, wordt de waarde $False
.
Als de Test-Connection
opdracht een waarde van $True
retourneert, gebruikt de opdracht de New-PSSession
cmdlet om de PSSession-te maken.
Voorbeeld 6: de traceroute-parameter gebruiken
Geïntroduceerd in PowerShell 6.0 wijst de parameter Traceroute een route toe tussen de lokale computer en de externe bestemming die u opgeeft met de parameter TargetName.
Test-Connection -TargetName www.google.com -Traceroute
Target: google.com
Hop Hostname Ping Latency Status Source TargetAddress
(ms)
--- -------- ---- ------- ------ ------ -------------
1 172.20.0.1 1 4 Success Lira 172.217.9.174
1 172.20.0.1 2 3 Success Lira 172.217.9.174
1 172.20.0.1 3 2 Success Lira 172.217.9.174
2 12.108.153.193 1 3 Success Lira 172.217.9.174
2 12.108.153.193 2 3 Success Lira 172.217.9.174
2 12.108.153.193 3 2 Success Lira 172.217.9.174
3 12.244.85.177 1 11 Success Lira 172.217.9.174
3 12.244.85.177 2 12 Success Lira 172.217.9.174
3 12.244.85.177 3 12 Success Lira 172.217.9.174
4 * 1 14 DestinationNetw… Lira 172.217.9.174
4 * 2 * TimedOut Lira 172.217.9.174
4 * 3 20 DestinationNetw… Lira 172.217.9.174
5 * 1 * TimedOut Lira 172.217.9.174
5 * 2 15 DestinationNetw… Lira 172.217.9.174
5 * 3 * TimedOut Lira 172.217.9.174
6 * 1 18 DestinationNetw… Lira 172.217.9.174
6 * 2 * TimedOut Lira 172.217.9.174
6 * 3 16 DestinationNetw… Lira 172.217.9.174
7 * 1 * TimedOut Lira 172.217.9.174
7 * 2 * TimedOut Lira 172.217.9.174
7 * 3 * TimedOut Lira 172.217.9.174
8 * 1 * TimedOut Lira 172.217.9.174
8 * 2 * TimedOut Lira 172.217.9.174
8 * 3 * TimedOut Lira 172.217.9.174
9 * 1 * TimedOut Lira 172.217.9.174
9 * 2 * TimedOut Lira 172.217.9.174
9 * 3 * TimedOut Lira 172.217.9.174
10 * 1 * TimedOut Lira 172.217.9.174
10 * 2 * TimedOut Lira 172.217.9.174
10 * 3 * TimedOut Lira 172.217.9.174
11 172.217.9.174 1 23 Success Lira 172.217.9.174
11 172.217.9.174 2 21 Success Lira 172.217.9.174
11 172.217.9.174 3 22 Success Lira 172.217.9.174
De opdracht Test-Connection
wordt aangeroepen met de parameter Traceroute. De resultaten, die [Microsoft.PowerShell.Commands.TestConnectionCommand+TraceStatus]
objecten zijn, worden naar de succes uitvoerstroom gestuurd.
Voorbeeld 7: Gedetailleerde uitvoer ophalen voor een TCP-verbindingstest
Wanneer u de parameter Gedetailleerde gebruikt, retourneert deze cmdlet een gedetailleerde informatie over de status van de TCP-verbindingspogingen.
Test-Connection bing.com -TCPPort 443 -Detailed -Count 4
Target: bing.com
Id Source Address Port Latency(ms) Connected Status
-- ------ ------- ---- ----------- --------- ------
1 circumflex 2620:1ec:c11::200 443 12 True Success
2 circumflex 2620:1ec:c11::200 443 14 True Success
3 circumflex 2620:1ec:c11::200 443 17 True Success
4 circumflex 2620:1ec:c11::200 443 17 True Success
Parameters
-BufferSize
Hiermee geeft u de grootte, in bytes, van de buffer die met deze opdracht wordt verzonden. De standaardwaarde is 32.
Type: | Int32 |
Aliassen: | Size, Bytes, BS |
Position: | Named |
Default value: | 32 |
Vereist: | False |
Pijplijninvoer accepteren: | False |
Jokertekens accepteren: | False |
-Count
Hiermee geeft u het aantal echoaanvragen dat moet worden verzonden. De standaardwaarde is 4.
Type: | Int32 |
Position: | Named |
Default value: | 4 |
Vereist: | False |
Pijplijninvoer accepteren: | False |
Jokertekens accepteren: | False |
-Delay
Hiermee geeft u het interval tussen pings, in seconden.
Type: | Int32 |
Position: | Named |
Default value: | None |
Vereist: | False |
Pijplijninvoer accepteren: | False |
Jokertekens accepteren: | False |
-Detailed
Wanneer u de parameter Gedetailleerde gebruikt, retourneert deze cmdlet een gedetailleerde informatie over de status van de TCP-verbindingspogingen.
Deze parameter is toegevoegd in PowerShell 7.4.
Type: | SwitchParameter |
Position: | Named |
Default value: | False |
Vereist: | False |
Pijplijninvoer accepteren: | False |
Jokertekens accepteren: | False |
-DontFragment
Met deze parameter stelt u de Don't Fragment--vlag in de IP-header in. U kunt deze parameter gebruiken met de parameter BufferSize om de MTU-grootte van het pad te testen. Voor meer informatie over Path MTU, zie het artikel Path MTU Discovery in Wikipedia.
Type: | SwitchParameter |
Position: | Named |
Default value: | False |
Vereist: | False |
Pijplijninvoer accepteren: | False |
Jokertekens accepteren: | False |
-IPv4
Dwingt de cmdlet om het IPv4-protocol voor de test te gebruiken.
Type: | SwitchParameter |
Position: | Named |
Default value: | False |
Vereist: | False |
Pijplijninvoer accepteren: | False |
Jokertekens accepteren: | False |
-IPv6
Dwingt de cmdlet om het IPv6-protocol voor de test te gebruiken.
Type: | SwitchParameter |
Position: | Named |
Default value: | False |
Vereist: | False |
Pijplijninvoer accepteren: | False |
Jokertekens accepteren: | False |
-MaxHops
Hiermee stelt u het maximum aantal hops in dat een ICMP-aanvraagbericht kan worden verzonden. De standaardwaarde wordt beheerd door het besturingssysteem. De standaardwaarde voor Windows 10 en hoger is 128 hops.
Type: | Int32 |
Aliassen: | Ttl, TimeToLive, Hops |
Position: | Named |
Default value: | 128 |
Vereist: | False |
Pijplijninvoer accepteren: | False |
Jokertekens accepteren: | False |
-MtuSize
Deze parameter wordt gebruikt om de MTU-grootte van het pad te detecteren. De cmdlet retourneert een PingReply#MTUSize object dat de Path MTU-grootte naar het doel bevat. Zie het artikel Path MTU Discovery voor meer informatie over Path MTU op Wikipedia.
Type: | SwitchParameter |
Aliassen: | MtuSizeDetect |
Position: | Named |
Default value: | False |
Vereist: | True |
Pijplijninvoer accepteren: | False |
Jokertekens accepteren: | False |
-Ping
Zorgt ervoor dat de cmdlet een pingtest uitvoert. Dit is de standaardmodus voor de Test-Connection
cmdlet.
Type: | SwitchParameter |
Position: | Named |
Default value: | True |
Vereist: | False |
Pijplijninvoer accepteren: | False |
Jokertekens accepteren: | False |
-Quiet
De parameter Quiet retourneert een Booleaanse-waarde. Met deze parameter worden alle fouten onderdrukt.
Elke verbinding die wordt getest, retourneert een Booleaanse waarde. Als de parameter TargetName meerdere computers opgeeft, wordt een matrix van Booleaanse-waarden geretourneerd.
Als een ping naar een gegeven doel slaagt, wordt $True
geretourneerd.
Als alle pings naar een bepaald doel mislukken, wordt $False
geretourneerd.
Type: | SwitchParameter |
Position: | Named |
Default value: | False |
Vereist: | False |
Pijplijninvoer accepteren: | False |
Jokertekens accepteren: | False |
-Repeat
Zorgt ervoor dat de cmdlet pingaanvragen continu verzendt. Wanneer de waarde van TargetName een matrix met doelen is, herhaalt de cmdlet de pingaanvragen voor het eerste doel alleen. De resterende doelen worden genegeerd. Deze parameter kan niet worden gebruikt met de parameter Count.
Type: | SwitchParameter |
Aliassen: | Continuous |
Position: | Named |
Default value: | False |
Vereist: | False |
Pijplijninvoer accepteren: | False |
Jokertekens accepteren: | False |
-ResolveDestination
Zorgt ervoor dat de cmdlet probeert de DNS-naam van het doel op te lossen. Wanneer deze wordt gebruikt in combinatie met de parameter Traceroute, worden indien mogelijk ook de DNS-namen van alle tussenliggende hosts opgehaald.
Type: | SwitchParameter |
Position: | Named |
Default value: | False |
Vereist: | False |
Pijplijninvoer accepteren: | False |
Jokertekens accepteren: | False |
-Source
Hiermee geeft u de namen van de computers waar de ping afkomstig is. Voer een door komma's gescheiden lijst met computernamen in. De standaardwaarde is de lokale computer.
Notitie
Deze parameter wordt niet ondersteund in PowerShell-versies 6 en hoger. Als u deze parameter opgeeft, treedt er een fout op.
Type: | String |
Position: | Named |
Default value: | Local computer |
Vereist: | False |
Pijplijninvoer accepteren: | False |
Jokertekens accepteren: | False |
-TargetName
Specificeer de computer(s) die getest moeten worden. Typ de computernamen of typ IP-adressen in IPv4- of IPv6-formaat.
Type: | String[] |
Aliassen: | ComputerName |
Position: | 0 |
Default value: | None |
Vereist: | True |
Pijplijninvoer accepteren: | True |
Jokertekens accepteren: | False |
-TcpPort
Hiermee geeft u het TCP-poortnummer op voor het doelsysteem dat moet worden gebruikt in de TCP-verbindingstest.
De cmdlet probeert een TCP-verbinding te maken met de opgegeven poort op het doel.
- De cmdlet retourneert
$True
als er een verbinding wordt gemaakt. - De cmdlet retourneert
$False
als er geen verbinding is gemaakt.
Type: | Int32 |
Position: | Named |
Default value: | None |
Vereist: | True |
Pijplijninvoer accepteren: | False |
Jokertekens accepteren: | False |
-TimeoutSeconds
Hiermee stelt u de time-outwaarde voor de test in. De test mislukt als een antwoord niet wordt ontvangen voordat de time-out verloopt. De standaardwaarde is vijf seconden.
Deze parameter is geïntroduceerd in PowerShell 6.0.
Type: | Int32 |
Position: | Named |
Default value: | 5 seconds |
Vereist: | False |
Pijplijninvoer accepteren: | False |
Jokertekens accepteren: | False |
-Traceroute
Zorgt ervoor dat de cmdlet een traceroute-test uitvoert. Wanneer deze parameter wordt gebruikt, retourneert de cmdlet een TestConnectionCommand+TraceStatus
-object.
Type: | SwitchParameter |
Position: | Named |
Default value: | False |
Vereist: | True |
Pijplijninvoer accepteren: | False |
Jokertekens accepteren: | False |
Invoerwaarden
None
U kunt geen objecten doorsluisen naar deze cmdlet.
Uitvoerwaarden
Microsoft.PowerShell.Commands.TestConnectionCommand+PingStatus
Deze cmdlet retourneert standaard een TestConnectionCommand+PingStatus-object voor elk pingantwoord.
Microsoft.PowerShell.Commands.TestConnectionCommand+TraceStatus
Wanneer u de parameter Traceroute gebruikt, retourneert deze cmdlet een TestConnectionCommand+TraceStatus-object voor elk pingantwoord langs de route.
Wanneer u de parameters Quiet of TcpPort gebruikt, retourneert deze cmdlet een booleaanse waarde. Als de cmdlet meerdere verbindingen test, retourneert deze een matrix van Booleaanse waarden.
Microsoft.PowerShell.Commands.TestConnectionCommand+PingMtuStatus
Wanneer u de parameter MtuSize gebruikt, retourneert deze cmdlet een TestConnectionCommand+PingMtuStatus-object voor elk pingantwoord.
Microsoft.PowerShell.Commands.TestConnectionCommand+TcpPortStatus
Wanneer u de parameter Gedetailleerde gebruikt, retourneert deze cmdlet een TestConnectionCommand+TcpPortStatus-object met de status van de TCP-verbinding.
Notities
In Linux kunt u met behulp van de parameter BufferSize of een combinatie van parameters met de MtuSize-parameterset die resulteert in een niet-standaardbuffergrootte van 32 bytes sudo
vereisen. In die gevallen genereert Test-Command
een uitzondering met een bericht dat aangeeft dat sudo
vereist is.