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]
[-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
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, 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 pingkommandot Test-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 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 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 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 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
Server01
pingar datorn med parametern Tyst angivet.
Det resulterande värdet är $True
om någon av de fyra pingarna lyckas. Om ingen av pingarna lyckas är $False
värdet .
Test-Connection
Om kommandot returnerar värdet $True
anvä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 .
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 statusen 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.
Typ: | Int32 |
Alias: | Size, Bytes, BS |
Position: | Named |
Standardvärde: | 32 |
Obligatorisk: | False |
Godkänn pipeline-indata: | False |
Godkänn jokertecken: | False |
-Count
Anger antalet ekobegäranden som ska skickas. Standardvärdet är 4.
Typ: | Int32 |
Position: | Named |
Standardvärde: | 4 |
Obligatorisk: | False |
Godkänn pipeline-indata: | False |
Godkänn jokertecken: | False |
-Delay
Anger intervallet mellan ping i sekunder.
Typ: | Int32 |
Position: | Named |
Standardvärde: | None |
Obligatorisk: | False |
Godkänn pipeline-indata: | False |
Godkänn jokertecken: | False |
-Detailed
När du använder parametern Detaljerad returnerar den här cmdleten en detaljerad information om statusen för TCP-anslutningsförsöken.
Den här parametern lades till i PowerShell 7.4.
Typ: | SwitchParameter |
Position: | Named |
Standardvärde: | False |
Obligatorisk: | False |
Godkänn pipeline-indata: | False |
Godkänn jokertecken: | False |
-DontFragment
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.
Typ: | SwitchParameter |
Position: | Named |
Standardvärde: | False |
Obligatorisk: | False |
Godkänn pipeline-indata: | False |
Godkänn jokertecken: | False |
-IPv4
Tvingar cmdleten att använda IPv4-protokollet för testet.
Typ: | SwitchParameter |
Position: | Named |
Standardvärde: | False |
Obligatorisk: | False |
Godkänn pipeline-indata: | False |
Godkänn jokertecken: | False |
-IPv6
Tvingar cmdleten att använda IPv6-protokollet för testet.
Typ: | SwitchParameter |
Position: | Named |
Standardvärde: | False |
Obligatorisk: | False |
Godkänn pipeline-indata: | False |
Godkänn jokertecken: | 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.
Typ: | Int32 |
Alias: | Ttl, TimeToLive, Hops |
Position: | Named |
Standardvärde: | 128 |
Obligatorisk: | False |
Godkänn pipeline-indata: | False |
Godkänn jokertecken: | 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.
Typ: | SwitchParameter |
Alias: | MtuSizeDetect |
Position: | Named |
Standardvärde: | False |
Obligatorisk: | True |
Godkänn pipeline-indata: | False |
Godkänn jokertecken: | False |
-Ping
Gör att cmdleten utför ett pingtest. Detta är standardläget för cmdleten Test-Connection
.
Typ: | SwitchParameter |
Position: | Named |
Standardvärde: | True |
Obligatorisk: | False |
Godkänn pipeline-indata: | False |
Godkänn jokertecken: | 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 visst mål misslyckas $False
returneras.
Typ: | SwitchParameter |
Position: | Named |
Standardvärde: | False |
Obligatorisk: | False |
Godkänn pipeline-indata: | False |
Godkänn jokertecken: | 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 Antal .
Typ: | SwitchParameter |
Alias: | Continuous |
Position: | Named |
Standardvärde: | False |
Obligatorisk: | False |
Godkänn pipeline-indata: | False |
Godkänn jokertecken: | 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.
Typ: | SwitchParameter |
Position: | Named |
Standardvärde: | False |
Obligatorisk: | False |
Godkänn pipeline-indata: | False |
Godkänn jokertecken: | False |
-Source
Anger namnen på de datorer där pingen kommer. Ange en kommaavgränsad lista med datornamn. Standard är den lokala datorn.
Kommentar
Den här parametern stöds inte i PowerShell version 6 och senare. Om du anger den här parametern orsakas ett fel.
Typ: | String |
Position: | Named |
Standardvärde: | Local computer |
Obligatorisk: | False |
Godkänn pipeline-indata: | False |
Godkänn jokertecken: | False |
-TargetName
Anger vilka datorer som ska testas. Skriv datornamnen eller skriv IP-adresser i IPv4- eller IPv6-format.
Typ: | String[] |
Alias: | ComputerName |
Position: | 0 |
Standardvärde: | None |
Obligatorisk: | True |
Godkänn pipeline-indata: | True |
Godkänn jokertecken: | 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 görs.
Typ: | Int32 |
Position: | Named |
Standardvärde: | None |
Obligatorisk: | True |
Godkänn pipeline-indata: | False |
Godkänn jokertecken: | 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.
Typ: | Int32 |
Position: | Named |
Standardvärde: | 5 seconds |
Obligatorisk: | False |
Godkänn pipeline-indata: | False |
Godkänn jokertecken: | 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.
Typ: | SwitchParameter |
Position: | Named |
Standardvärde: | False |
Obligatorisk: | True |
Godkänn pipeline-indata: | False |
Godkänn jokertecken: | False |
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.
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 Detaljerad returnerar den här cmdleten ett TestConnectionCommand+TcpPortStatus-objekt som visar status för TCP-anslutningen.
Kommentarer
I Linux kan du behöva använda parametern BufferSize eller valfri kombination av parametrar med parameteruppsättningen MtuSizeDetect som resulterar i en buffertstorlek som inte är standard på 32 byte.sudo
I dessa fall Test-Command
skapar ett undantag med ett meddelande som anger att det sudo
krävs.