Dela via


Test-Connection

Skickar ICMP-ekobegärandepaket, eller pingar, till en eller flera datorer.

Syntax

DefaultPing (Standard)

Test-Connection
    [-TargetName] <string[]>
    [-Ping]
    [-IPv4]
    [-IPv6]
    [-ResolveDestination]
    [-Source <string>]
    [-MaxHops <int>]
    [-Count <int>]
    [-Delay <int>]
    [-BufferSize <int>]
    [-DontFragment]
    [-Quiet]
    [-TimeoutSeconds <int>]
    [<CommonParameters>]

RepeatPing

Test-Connection
    [-TargetName] <string[]>
    -Repeat
    [-Ping]
    [-IPv4]
    [-IPv6]
    [-ResolveDestination]
    [-Source <string>]
    [-MaxHops <int>]
    [-Delay <int>]
    [-BufferSize <int>]
    [-DontFragment]
    [-Quiet]
    [-TimeoutSeconds <int>]
    [<CommonParameters>]

TraceRoute

Test-Connection
    [-TargetName] <string[]>
    -Traceroute
    [-IPv4]
    [-IPv6]
    [-ResolveDestination]
    [-Source <string>]
    [-MaxHops <int>]
    [-Quiet]
    [-TimeoutSeconds <int>]
    [<CommonParameters>]

MtuSizeDetect

Test-Connection
    [-TargetName] <string[]>
    -MtuSize
    [-IPv4]
    [-IPv6]
    [-ResolveDestination]
    [-Quiet]
    [-TimeoutSeconds <int>]
    [<CommonParameters>]

TcpPort

Test-Connection
    [-TargetName] <string[]>
    -TcpPort <int>
    [-IPv4]
    [-IPv6]
    [-ResolveDestination]
    [-Source <string>]
    [-Count <int>]
    [-Delay <int>]
    [-Repeat]
    [-Quiet]
    [-TimeoutSeconds <int>]
    [-Detailed]
    [<CommonParameters>]

Description

Den Test-Connection-cmdleten skickar ICMP-ekobegäran-paket (Internet Control Message Protocol), eller pingar, till en eller flera fjärrdatorer och returnerar ekosvar. Du kan använda den här cmdleten för att avgöra om en viss dator kan kontaktas i ett IP-nätverk.

Du kan använda parametrarna för Test-Connection för att ange både de sändande och mottagande datorerna, för att köra kommandot som ett bakgrundsjobb, för att ange tidsgräns och antal pingar samt för att konfigurera anslutningen och autentiseringen.

Till skillnad från det välbekanta kommandot ping returnerar Test-Connection ett TestConnectionCommand+PingStatus- objekt som du kan undersöka i PowerShell. Parametern Quiet returnerar ett booleskt-värde i ett System.Booleskt-objekt för varje testad anslutning. Om flera anslutningar testas returneras en matris med booleska värden.

Exempel

Exempel 1: Skicka ekobegäranden till en fjärrdator

Det här exemplet skickar ekobegärandepaket från den lokala datorn till Server01-datorn.

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 använder parametern TargetName för att ange Server01-datorn. Parametern IPv4 anger protokollet för testet.

En serie TestConnectionCommand+PingStatus objekt skickas till utdataströmmen, ett objekt per ping-svar från måldatorn.

Exempel 2: Skicka ekobegäranden till flera datorer

Det här exemplet skickar ping från den lokala datorn till flera fjärrdatorer.

Test-Connection -TargetName Server01, Server02, Server12

Exempel 3: Använd parametrar för att anpassa testkommandot

I det här exemplet används parametrarna för Test-Connection för att anpassa kommandot. Den lokala datorn skickar ett pingtest till en fjärrdator.

Test-Connection -TargetName Server01 -Count 3 -Delay 2 -MaxHops 255 -BufferSize 256

Test-Connection använder parametern TargetName för att ange Server01. Parametern Count anger att tre pingar skickas till Server01-datorn med en fördröjning med 2 sekunders intervall.

Du kan använda de här alternativen när ping-svaret förväntas ta längre tid än vanligt, antingen på grund av ett utökat antal hopp eller ett nätverkstillstånd med hög trafik.

Exempel 4: Kör ett test som ett bakgrundsjobb

Det här exemplet visar hur du kör ett Test-Connection kommando som ett PowerShell-bakgrundsjobb.

$job = Start-Job -ScriptBlock { Test-Connection -TargetName (Get-Content -Path "Servers.txt") }
$Results = Receive-Job $job -Wait

Kommandot Start-Job använder cmdleten Test-Connection för att pinga många datorer i ett företag. Värdet för parametern TargetName är ett Get-Content-kommando som läser en lista över datornamn från Servers.txt-filen. Kommandot använder cmdleten Start-Job för att köra kommandot som ett bakgrundsjobb och det sparar jobbet i variabeln $job.

Kommandot Receive-Job instrueras att -Wait tills jobbet är slutfört och sedan hämtar det resultatet och lagrar det i variabeln $Results.

Exempel 5: Skapa endast en session om ett anslutningstest lyckas

Det här exemplet skapar en session på Server01-datorn endast om minst en av pingarna som skickas till datorn lyckas.

if (Test-Connection -TargetName Server01 -Quiet) { New-PSSession -ComputerName Server01 }

Cmdleten Test-Connection pingar datorn Server01 med parametern Quiet. Det resulterande värdet är $true om någon av de fyra pingarna lyckas. Om ingen av pingarna lyckas är värdet $false.

Om kommandot Test-Connection returnerar värdet $trueanvänder kommandot cmdleten New-PSSession för att skapa PSSession-.

Exempel 6: Använd parametern Traceroute

Parametern Traceroute introducerades i PowerShell 6.0 och mappar en väg mellan den lokala datorn och fjärrmålet som du anger med parametern 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

Kommandot Test-Connection anropas med parametern Traceroute. Resultaten, som är ett [Microsoft.PowerShell.Commands.TestConnectionCommand+TraceStatus] objekt, matas ut till utdataströmmen Success.

Exempel 7: Hämta detaljerade utdata för ett TCP-anslutningstest

När du använder parametern Detaljerad returnerar den här cmdleten en detaljerad information om status för TCP-anslutningsförsöken.

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

Parametrar

-BufferSize

Anger storleken i byte på bufferten som skickas med det här kommandot. Standardvärdet är 32.

Parameteregenskaper

Typ:Int32
Standardvärde:32
Stöder jokertecken:False
DontShow:False
Alias:Storlek, byte, Kandidatexamen i naturvetenskap

Parameteruppsättningar

DefaultPing
Position:Named
Obligatorisk:False
Värde från pipeline:False
Värde från pipeline efter egenskapsnamn:False
Värde från återstående argument:False
RepeatPing
Position:Named
Obligatorisk:False
Värde från pipeline:False
Värde från pipeline efter egenskapsnamn:False
Värde från återstående argument:False

-Count

Anger antalet ekobegäranden som ska skickas. Standardvärdet är 4.

Parameteregenskaper

Typ:Int32
Standardvärde:4
Stöder jokertecken:False
DontShow:False

Parameteruppsättningar

DefaultPing
Position:Named
Obligatorisk:False
Värde från pipeline:False
Värde från pipeline efter egenskapsnamn:False
Värde från återstående argument:False
TcpPort
Position:Named
Obligatorisk:False
Värde från pipeline:False
Värde från pipeline efter egenskapsnamn:False
Värde från återstående argument:False

-Delay

Anger intervallet mellan ping i sekunder.

Parameteregenskaper

Typ:Int32
Standardvärde:None
Stöder jokertecken:False
DontShow:False

Parameteruppsättningar

DefaultPing
Position:Named
Obligatorisk:False
Värde från pipeline:False
Värde från pipeline efter egenskapsnamn:False
Värde från återstående argument:False
RepeatPing
Position:Named
Obligatorisk:False
Värde från pipeline:False
Värde från pipeline efter egenskapsnamn:False
Värde från återstående argument:False
TcpPort
Position:Named
Obligatorisk:False
Värde från pipeline:False
Värde från pipeline efter egenskapsnamn:False
Värde från återstående argument:False

-Detailed

När du använder parametern Detaljerad returnerar den här cmdleten en detaljerad information om status för TCP-anslutningsförsöken.

Den här parametern lades till i PowerShell 7.4.

Parameteregenskaper

Typ:SwitchParameter
Standardvärde:False
Stöder jokertecken:False
DontShow:False

Parameteruppsättningar

TcpPort
Position:Named
Obligatorisk:False
Värde från pipeline:False
Värde från pipeline efter egenskapsnamn:False
Värde från återstående argument:False

-DontFragment

Den här parametern ställer in flaggan Fragmentera inte i IP-huvudet. Du kan använda den här parametern tillsammans med parametern BufferSize för att testa sökvägens MTU-storlek. Mer information om Path MTU finns i artikeln Path MTU Discovery i wikipedia.

Parameteregenskaper

Typ:SwitchParameter
Standardvärde:False
Stöder jokertecken:False
DontShow:False

Parameteruppsättningar

DefaultPing
Position:Named
Obligatorisk:False
Värde från pipeline:False
Värde från pipeline efter egenskapsnamn:False
Värde från återstående argument:False
RepeatPing
Position:Named
Obligatorisk:False
Värde från pipeline:False
Värde från pipeline efter egenskapsnamn:False
Värde från återstående argument:False

-IPv4

Tvingar cmdleten att använda IPv4-protokollet för testet.

Parameteregenskaper

Typ:SwitchParameter
Standardvärde:False
Stöder jokertecken:False
DontShow:False

Parameteruppsättningar

(All)
Position:Named
Obligatorisk:False
Värde från pipeline:False
Värde från pipeline efter egenskapsnamn:False
Värde från återstående argument:False

-IPv6

Tvingar cmdleten att använda IPv6-protokollet för testet.

Parameteregenskaper

Typ:SwitchParameter
Standardvärde:False
Stöder jokertecken:False
DontShow:False

Parameteruppsättningar

(All)
Position:Named
Obligatorisk:False
Värde från pipeline:False
Värde från pipeline efter egenskapsnamn:False
Värde från återstående argument:False

-MaxHops

Anger det maximala antalet hopp som ett ICMP-begärandemeddelande kan skickas. Standardvärdet styrs av operativsystemet. Standardvärdet för Windows 10 och senare är 128 hopp.

Parameteregenskaper

Typ:Int32
Standardvärde:128
Stöder jokertecken:False
DontShow:False
Alias:Ttl, TimeToLive, Humle

Parameteruppsättningar

DefaultPing
Position:Named
Obligatorisk:False
Värde från pipeline:False
Värde från pipeline efter egenskapsnamn:False
Värde från återstående argument:False
RepeatPing
Position:Named
Obligatorisk:False
Värde från pipeline:False
Värde från pipeline efter egenskapsnamn:False
Värde från återstående argument:False
TraceRoute
Position:Named
Obligatorisk:False
Värde från pipeline:False
Värde från pipeline efter egenskapsnamn:False
Värde från återstående argument:False

-MtuSize

Den här parametern används för att upptäcka storleken på MTU för sökväg. Cmdleten returnerar ett PingReply#MTUSize-objekt som innehåller Path MTU-storleken till målet. Mer information om Path MTU finns i artikeln Path MTU Discovery i wikipedia.

Parameteregenskaper

Typ:SwitchParameter
Standardvärde:False
Stöder jokertecken:False
DontShow:False
Alias:MtuSizeDetect

Parameteruppsättningar

MtuSizeDetect
Position:Named
Obligatorisk:True
Värde från pipeline:False
Värde från pipeline efter egenskapsnamn:False
Värde från återstående argument:False

-Ping

Gör att cmdleten utför ett pingtest. Det här är standardläget för cmdleten Test-Connection.

Parameteregenskaper

Typ:SwitchParameter
Standardvärde:True
Stöder jokertecken:False
DontShow:False

Parameteruppsättningar

DefaultPing
Position:Named
Obligatorisk:False
Värde från pipeline:False
Värde från pipeline efter egenskapsnamn:False
Värde från återstående argument:False
RepeatPing
Position:Named
Obligatorisk:False
Värde från pipeline:False
Värde från pipeline efter egenskapsnamn:False
Värde från återstående argument:False

-Quiet

Parametern Quiet returnerar ett booleskt värde. Om du använder den här parametern ignoreras alla fel.

Varje anslutning som testas returnerar ett booleskt värde. Om parametern TargetName anger flera datorer returneras en matris med booleska värden.

Om någon ping till ett visst mål lyckas, returneras $true.

Om alla pingar till ett givet mål misslyckas, returneras $false.

Parameteregenskaper

Typ:SwitchParameter
Standardvärde:False
Stöder jokertecken:False
DontShow:False

Parameteruppsättningar

(All)
Position:Named
Obligatorisk:False
Värde från pipeline:False
Värde från pipeline efter egenskapsnamn:False
Värde från återstående argument:False

-Repeat

Gör att cmdleten skickar ping-begäranden kontinuerligt. När värdet för TargetName är en matris med mål upprepar cmdleten endast ping-begäranden för det första målet. De återstående målen ignoreras. Den här parametern kan inte användas med parametern Count.

Parameteregenskaper

Typ:SwitchParameter
Standardvärde:False
Stöder jokertecken:False
DontShow:False
Alias:Kontinuerlig

Parameteruppsättningar

RepeatPing
Position:Named
Obligatorisk:True
Värde från pipeline:False
Värde från pipeline efter egenskapsnamn:False
Värde från återstående argument:False
TcpPort
Position:Named
Obligatorisk:False
Värde från pipeline:False
Värde från pipeline efter egenskapsnamn:False
Värde från återstående argument:False

-ResolveDestination

Gör att cmdleten försöker lösa målets DNS-namn. När det används tillsammans med parametern Traceroute hämtas även DNS-namnen för alla mellanliggande värdar, om möjligt.

Parameteregenskaper

Typ:SwitchParameter
Standardvärde:False
Stöder jokertecken:False
DontShow:False

Parameteruppsättningar

(All)
Position:Named
Obligatorisk:False
Värde från pipeline:False
Värde från pipeline efter egenskapsnamn:False
Värde från återstående argument:False

-Source

Anger namnen på de datorer där pingen kommer. Ange en kommaavgränsad lista med datornamn. Standardvärdet är den lokala datorn.

Anmärkning

Den här parametern stöds inte i PowerShell version 6 och senare. Om du anger den här parametern orsakas ett fel.

Parameteregenskaper

Typ:String
Standardvärde:Local computer
Stöder jokertecken:False
DontShow:False

Parameteruppsättningar

DefaultPing
Position:Named
Obligatorisk:False
Värde från pipeline:False
Värde från pipeline efter egenskapsnamn:False
Värde från återstående argument:False
RepeatPing
Position:Named
Obligatorisk:False
Värde från pipeline:False
Värde från pipeline efter egenskapsnamn:False
Värde från återstående argument:False
TraceRoute
Position:Named
Obligatorisk:False
Värde från pipeline:False
Värde från pipeline efter egenskapsnamn:False
Värde från återstående argument:False
TcpPort
Position:Named
Obligatorisk:False
Värde från pipeline:False
Värde från pipeline efter egenskapsnamn:False
Värde från återstående argument:False

-TargetName

Anger vilka datorer som ska testas. Skriv datornamnen eller skriv IP-adresser i IPv4- eller IPv6-format.

Parameteregenskaper

Typ:

String[]

Standardvärde:None
Stöder jokertecken:False
DontShow:False
Alias:Datornamn

Parameteruppsättningar

(All)
Position:0
Obligatorisk:True
Värde från pipeline:True
Värde från pipeline efter egenskapsnamn:True
Värde från återstående argument:False

-TcpPort

Anger TCP-portnumret på målet som ska användas i TCP-anslutningstestet.

Cmdleten försöker upprätta en TCP-anslutning till den angivna porten på målet.

  • Cmdleten returnerar $true om en anslutning upprättas.
  • Cmdleten returnerar $false om en anslutning inte upprättas.

Parameteregenskaper

Typ:Int32
Standardvärde:None
Stöder jokertecken:False
DontShow:False

Parameteruppsättningar

TcpPort
Position:Named
Obligatorisk:True
Värde från pipeline:False
Värde från pipeline efter egenskapsnamn:False
Värde från återstående argument:False

-TimeoutSeconds

Anger tidsgränsvärdet för testet. Testet misslyckas om ett svar inte tas emot innan tidsgränsen upphör att gälla. Standardvärdet är fem sekunder.

Den här parametern introducerades i PowerShell 6.0.

Parameteregenskaper

Typ:Int32
Standardvärde:5 seconds
Stöder jokertecken:False
DontShow:False

Parameteruppsättningar

(All)
Position:Named
Obligatorisk:False
Värde från pipeline:False
Värde från pipeline efter egenskapsnamn:False
Värde från återstående argument:False

-Traceroute

Gör att cmdleten utför ett traceroute-test. När den här parametern används returnerar cmdleten ett TestConnectionCommand+TraceStatus objekt.

Parameteregenskaper

Typ:SwitchParameter
Standardvärde:False
Stöder jokertecken:False
DontShow:False

Parameteruppsättningar

TraceRoute
Position:Named
Obligatorisk:True
Värde från pipeline:False
Värde från pipeline efter egenskapsnamn:False
Värde från återstående argument:False

CommonParameters

Den här cmdleten stöder vanliga parametrar: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction och -WarningVariable. Mer information finns i about_CommonParameters.

Indata

None

Du kan inte skicka objekt till den här cmdleten.

Utdata

Microsoft.PowerShell.Commands.TestConnectionCommand+PingStatus

Som standard returnerar den här cmdleten ett TestConnectionCommand+PingStatus- objekt för varje ping-svar.

Microsoft.PowerShell.Commands.TestConnectionCommand+TraceStatus

När du använder parametern Traceroute returnerar den här cmdleten ett TestConnectionCommand+TraceStatus-objekt för varje ping-svar längs vägen.

Boolean

När du använder parametrarna Quiet eller TcpPort returnerar den här cmdleten ett booleskt värde. Om cmdleten testar flera anslutningar returneras en matris med booleska värden.

Microsoft.PowerShell.Commands.TestConnectionCommand+PingMtuStatus

När du använder parametern MtuSize returnerar den här cmdleten ett TestConnectionCommand+PingMtuStatus-objekt för varje ping-svar.

Microsoft.PowerShell.Commands.TestConnectionCommand+TcpPortStatus

När du använder parametern Detailed returnerar den här cmdleten ett TestConnectionCommand+TcpPortStatus-objekt som visar status för TCP-anslutningen.

Kommentarer

I Linux kan det krävas om du använder parametern BufferSize eller någon kombination av parametrar med parameteruppsättningen sudo som resulterar i en buffertstorlek som inte är standard på 32 byte. I dessa fall skapar Test-Command ett undantag med ett meddelande som anger att sudo krävs.