Dela via


Test-Connection

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

Syntax

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

Description

Cmdleten Test-Connection skickar ICMP(Internet Control Message Protocol) ekobegärandepaket, eller pingar, till en eller flera fjärrdatorer och returnerar ekosvarssvaren. 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 Test-Connection för 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 pingkommandotTest-Connection returnerar ett TestConnectionCommand+PingStatus-objekt som du kan undersöka i PowerShell. Parametern Tyst 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 Test-Connection för 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 på 2 sekunder.

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 med datornamn från Servers.txt filen. Kommandot använder cmdleten Start-Job för att köra kommandot som ett bakgrundsjobb och sparar jobbet i variabeln $job .

Kommandot Receive-Job instrueras till -Wait tills jobbet har slutförts och hämtar sedan resultatet och lagrar dem 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-ConnectionServer01 pingar datorn med den tillhandahållna parametern Tyst. Det resulterande värdet är $True om någon av de fyra pingarna lyckas. Om ingen av pingarna lyckas är $Falsevärdet .

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

Exempel 6: Använd parametern Traceroute

Traceroute-parametern 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 . Resultatet, som är [Microsoft.PowerShell.Commands.TestConnectionCommand+TraceStatus] objekt, är utdata till utdataströmmen Lyckades .

Parametrar

-BufferSize

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

Type:Int32
Aliases:Size, Bytes, BS
Position:Named
Default value:32
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Count

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

Type:Int32
Position:Named
Default value:4
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Delay

Anger intervallet mellan pingar i sekunder.

Type:Int32
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-DontFragment

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

Type:SwitchParameter
Position:Named
Default value:False
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-IPv4

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

Type:SwitchParameter
Position:Named
Default value:False
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-IPv6

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

Type:SwitchParameter
Position:Named
Default value:False
Required:False
Accept pipeline input:False
Accept wildcard characters: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 högre är 128 hopp.

Type:Int32
Aliases:Ttl, TimeToLive, Hops
Position:Named
Default value:128
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-MtuSize

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

Type:SwitchParameter
Aliases:MtuSizeDetect
Position:Named
Default value:False
Required:True
Accept pipeline input:False
Accept wildcard characters:False

-Ping

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

Type:SwitchParameter
Position:Named
Default value:True
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Quiet

Parametern Tyst returnerar ett booleskt värde. Med 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 visst mål misslyckas $False returneras.

Type:SwitchParameter
Position:Named
Default value:False
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Repeat

Gör att cmdleten skickar ping-begäranden kontinuerligt. Den här parametern kan inte användas med parametern Antal .

Type:SwitchParameter
Aliases:Continuous
Position:Named
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters:False

-ResolveDestination

Gör att cmdleten försöker matcha 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.

Type:SwitchParameter
Position:Named
Default value:False
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Source

Anger namnen på de datorer där pingen kommer. Ange en kommaavgränsad lista över datornamn. Standard är den lokala datorn.

Anteckning

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

Type:String
Position:Named
Default value:Local computer
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-TargetName

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

Type:String[]
Aliases:ComputerName
Position:0
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters: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.

Om en anslutning kan upprättas $True returneras.

Om det inte går att upprätta $False en anslutning returneras den.

Type:Int32
Position:Named
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters:False

-TimeoutSeconds

Anger timeout-värdet för testet. Testet misslyckas om ett svar inte tas emot innan tidsgränsen går ut. Standardvärdet är fem sekunder.

Den här parametern introducerades i PowerShell 6.0.

Type:Int32
Position:Named
Default value:5 seconds
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Traceroute

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

Type:SwitchParameter
Position:Named
Default value:False
Required:True
Accept pipeline input:False
Accept wildcard characters:False

Indata

None

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

Utdata

TestConnectionCommand+PingStatus, TestConnectionCommand+TraceStatus, Boolean, TestConnectionCommand+PingMtuStatus

Som standard Test-Connection returnerar ett TestConnectionCommand+PingStatus-objekt för varje pingsvar.

Om du anger parametern Traceroute returnerar cmdleten ett TestConnectionCommand+TraceStatus-objekt för varje pingsvar längs vägen.

Om du anger parametrarna Tyst eller TcpPort returneras ett booleskt värde. Om flera anslutningar testas returneras en matris med booleska värden.