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
De Test-Connection
cmdlet verzendt ICMP-echoaanvraagpakketten (Internet Control Message Protocol) of pings naar een of meer externe computers en retourneert de antwoorden van de echoreacties. U kunt deze cmdlet gebruiken om te bepalen of een bepaalde computer kan worden gecontacteerd via een IP-netwerk.
U kunt de parameters gebruiken om Test-Connection
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
u 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 met 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 IPv4-parameter specificeert het protocol voor de test.
Er wordt een reeks TestConnectionCommand+PingStatus-objecten 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 gebruikt om Test-Connection
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 drie pings worden verzonden naar de Server01-computer met een vertraging van 2 seconden intervallen.
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 Start-Job
opdracht 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 gebruikt de Start-Job
cmdlet om de opdracht uit te voeren als achtergrondtaak en slaat de taak op in de $job
variabele.
De Receive-Job
opdracht wordt geïnstrueerd totdat -Wait
de taak is voltooid en haalt vervolgens de resultaten op en slaat deze op 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 is opgegeven.
De resulterende waarde is $True
als een van de vier pings slaagt. Als geen van de pings slaagt, is $False
de waarde .
Als de Test-Connection
opdracht een waarde $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 Traceroute-parameter 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 Test-Connection
opdracht wordt aangeroepen met de traceroute-parameter . De resultaten, die objecten zijn [Microsoft.PowerShell.Commands.TestConnectionCommand+TraceStatus]
, zijn uitvoer naar de uitvoerstroom Geslaagd .
Voorbeeld 7: Gedetailleerde uitvoer ophalen voor een TCP-verbindingstest
Wanneer u de gedetailleerde parameter 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 gedetailleerde parameter 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 wordt de vlag Fragment niet fragment ingesteld in de IP-header. U kunt deze parameter gebruiken met de parameter BufferSize om de MTU-grootte van het pad te testen. Zie het artikel Path MTU Discovery in Wikipedia voor meer informatie over Path MTU.
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 pad MTU-grootte te detecteren. De cmdlet retourneert een PingReply#MTUSize-object dat de pad-MTU-grootte bevat naar het doel. Zie het artikel Path MTU Discovery in Wikipedia voor meer informatie over Path MTU.
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 met Booleaanse waarden geretourneerd.
Als een ping naar een bepaald doel slaagt, $True
wordt geretourneerd.
Als alle pings naar een bepaald doel mislukken, $False
wordt deze 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 alleen de pingaanvragen voor het eerste doel. 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. Standaard is dit 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
Hiermee geeft u de computer(s) te testen. Typ de computernamen of typ IP-adressen in IPv4- of IPv6-indeling.
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 het doel 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 met 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 gedetailleerde parameter gebruikt, retourneert deze cmdlet een TestConnectionCommand+TcpPortStatus-object dat de status van de TCP-verbinding weergeeft.
Notities
In Linux is het mogelijk dat het gebruik van de parameter BufferSize of een combinatie van parameters met de parameterset MtuSizeDetect die resulteert in een niet-standaardbuffergrootte van 32 bytes vereist sudo
is. In dergelijke gevallen Test-Command
wordt een uitzondering gegenereerd met een bericht dat aangeeft dat sudo
dit vereist is.