Test-Connection
Skickar ICMP echo request-paket, 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-paket (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, köra kommandot som ett bakgrundsjobb, ange tidsgräns och antal pingar samt 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 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 paket med ekobegäranden 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 pingar 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 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 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 tills -Wait jobbet har slutförts och hämtar sedan resultaten och lagrar dem i variabeln $Results .
Exempel 5: Skapa bara en session om ett anslutningstest lyckas
Det här exemplet skapar endast en session på Server01-datorn 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 parametern Quiet angivet.
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, matas ut till utdataströmmen Lyckades .
Parametrar
Anger storleken i byte för bufferten som skickas med det här kommandot. Standardvärdet är 32.
| Type: | Int32 |
| Aliases: | Size, Bytes, BS |
| Position: | Named |
| Default value: | 32 |
| Accept pipeline input: | False |
| Accept wildcard characters: | False |
Anger antalet ekobegäranden som ska skickas. Standardvärdet är 4.
| Type: | Int32 |
| Position: | Named |
| Default value: | 4 |
| Accept pipeline input: | False |
| Accept wildcard characters: | False |
Anger intervallet mellan pingar i sekunder.
| Type: | Int32 |
| Position: | Named |
| Default value: | None |
| Accept pipeline input: | False |
| Accept wildcard characters: | False |
Den här parametern anger flaggan Don't Fragment 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 |
| Accept pipeline input: | False |
| Accept wildcard characters: | False |
Tvingar cmdleten att använda IPv4-protokollet för testet.
| Type: | SwitchParameter |
| Position: | Named |
| Default value: | False |
| Accept pipeline input: | False |
| Accept wildcard characters: | False |
Tvingar cmdleten att använda IPv6-protokollet för testet.
| Type: | SwitchParameter |
| Position: | Named |
| Default value: | False |
| Accept pipeline input: | False |
| Accept wildcard characters: | False |
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 |
| Accept pipeline input: | False |
| Accept wildcard characters: | False |
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 |
| Accept pipeline input: | False |
| Accept wildcard characters: | False |
Gör att cmdleten utför ett pingtest. Detta är standardläget för cmdleten Test-Connection .
| Type: | SwitchParameter |
| Position: | Named |
| Default value: | True |
| Accept pipeline input: | False |
| Accept wildcard characters: | False |
Parametern Quiet returnerar ett booleskt värde. Med den här parametern utelämnas 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 |
| Accept pipeline input: | False |
| Accept wildcard characters: | False |
Gör att cmdleten skickar ping-begäranden kontinuerligt. Den här parametern kan inte användas med parametern Count .
| Type: | SwitchParameter |
| Aliases: | Continuous |
| Position: | Named |
| Default value: | None |
| Accept pipeline input: | False |
| Accept wildcard characters: | False |
Gör att cmdleten försöker matcha målets DNS-namn. När dns-namnen för alla mellanliggande värdar används tillsammans med parametern Traceroute hämtas även om möjligt.
| Type: | SwitchParameter |
| Position: | Named |
| Default value: | False |
| Accept pipeline input: | False |
| Accept wildcard characters: | False |
Anger namnen på de datorer där pingen kommer. Ange en kommaavgränsad lista med 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 |
| Accept pipeline input: | False |
| Accept wildcard characters: | False |
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 |
| Accept pipeline input: | True |
| Accept wildcard characters: | False |
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.
| Type: | Int32 |
| Position: | Named |
| Default value: | None |
| Accept pipeline input: | False |
| Accept wildcard characters: | False |
Anger tidsgränsvä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 |
| Accept pipeline input: | False |
| Accept wildcard characters: | False |
Gör att cmdleten utfö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 |
| Accept pipeline input: | False |
| Accept wildcard characters: | False |
Indata
None
Du kan inte skicka indata till denna cmdlet.
Utdata
TestConnectionCommand+PingStatus, TestConnectionCommand+TraceStatus, Boolean, TestConnectionCommand+PingMtuStatus
Som standard Test-Connection returneras 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 Quiet eller TcpPort returneras ett booleskt värde. Om flera anslutningar testas returneras en matris med booleska värden.
Relaterade länkar
Feedback
Skicka och visa feedback för