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

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 $Falsede waarde .

Als de Test-Connection opdracht een waarde $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 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.

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 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 sudois. In dergelijke gevallen Test-Command wordt een uitzondering gegenereerd met een bericht dat aangeeft dat sudo dit vereist is.