Delen via


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 $Trueretourneert, 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.

Boolean

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 sudovereisen. In die gevallen genereert Test-Command een uitzondering met een bericht dat aangeeft dat sudo vereist is.