Test-Connection

Odešle pakety s žádostí o odezvu PROTOKOLU ICMP nebo příkazy ping do jednoho nebo více počítačů.

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

Rutina Test-Connection odešle pakety s žádostí o odezvu protokolu ICMP (Internet Control Message Protocol) nebo příkazy ping do jednoho nebo více vzdálených počítačů a vrátí odpovědi odezvy odezvy. Pomocí této rutiny můžete určit, jestli se konkrétní počítač dá kontaktovat přes síť IP.

Pomocí parametrů Test-Connection můžete určit odesílající i přijímající počítače, spustit příkaz jako úlohu na pozadí, nastavit časový limit a počet příkazů ping a nakonfigurovat připojení a ověřování.

Na rozdíl od známého příkazu Test-Connection ping vrátí test Připojení ionCommand+PingStatus objekt, který můžete prozkoumat v PowerShellu. Parametr Quiet vrátí logickou hodnotu v System.Boolean objektu pro každé testované připojení. Pokud se testuje více připojení, vrátí se pole logických hodnot.

Příklady

Příklad 1: Odeslání žádostí o odezvu vzdálenému počítači

Tento příklad odešle pakety požadavků na odezvu z místního počítače do počítače Server01.

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-Connectionpoužívá parametr TargetName k určení počítače Server01. Parametr IPv4 určuje protokol pro test.

Do výstupního datového proudu se odesílá řada objektů Test Připojení ionCommand+PingStatus, jeden objekt na odpověď ping z cílového počítače.

Příklad 2: Odeslání žádostí o odezvu na několik počítačů

Tento příklad odešle příkazy ping z místního počítače do několika vzdálených počítačů.

Test-Connection -TargetName Server01, Server02, Server12

Příklad 3: Použití parametrů k přizpůsobení testovacího příkazu

Tento příklad používá parametry Test-Connection k přizpůsobení příkazu. Místní počítač odešle test ping do vzdáleného počítače.

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

Test-Connectionpoužívá parametr TargetName k určení serveru Server01. Parametr Count určuje, že se do počítače Server01 posílají tři příkazy ping se zpožděním dvousekundových intervalů.

Tyto možnosti můžete použít, pokud se očekává, že odpověď ping bude trvat déle než obvykle, a to buď kvůli rozšířenému počtu směrování, nebo kvůli stavu sítě s vysokým provozem.

Příklad 4: Spuštění testu jako úlohy na pozadí

Tento příklad ukazuje, jak spustit Test-Connection příkaz jako úlohu prostředí PowerShell na pozadí.

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

Příkaz Start-Job používá rutinu Test-Connection k příkazu ping mnoha počítačů v podniku. Hodnota parametru TargetName je Get-Content příkaz, který čte seznam názvů počítačů ze Servers.txt souboru. Příkaz pomocí rutiny Start-Job spustí příkaz jako úlohu na pozadí a uloží úlohu do $job proměnné.

Příkaz Receive-Job se dá pokyn, aby -Wait se úloha nedokončila, a pak získá výsledky a uloží je do $Results proměnné.

Příklad 5: Vytvoření relace pouze v případě, že test připojení proběhne úspěšně

Tento příklad vytvoří relaci na počítači Server01 pouze v případě, že alespoň jeden z příkazů ping odeslaných do počítače bude úspěšný.

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

Rutina Test-Connection odešle příkaz ping do Server01 počítače s zadaným parametrem Quiet . Výsledná hodnota je $True , pokud některý ze čtyř příkazů ping proběhne úspěšně. Pokud žádný z příkazů ping není úspěšný, hodnota je $False.

Test-Connection Pokud příkaz vrátí hodnotu $True, příkaz použije rutinu New-PSSessionk vytvoření psSession.

Příklad 6: Použití parametru Traceroute

Představený v PowerShellu 6.0 mapuje parametr Traceroute trasu mezi místním počítačem a vzdáleným cílem, který zadáte pomocí parametru 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

Příkaz Test-Connection se volá pomocí parametru Traceroute . Výsledky, které jsou objekty, jsou [Microsoft.PowerShell.Commands.TestConnectionCommand+TraceStatus] výstupem výstupního datového proudu Success .

Parametry

-BufferSize

Určuje velikost vyrovnávací paměti odeslané tímto příkazem v bajtech. Výchozí hodnota je 32.

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

-Count

Určuje počet požadavků na odezvu, které se mají odeslat. Výchozí hodnota je 4.

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

-Delay

Určuje interval mezi příkazy ping v sekundách.

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

-DontFragment

Tento parametr nastaví příznak Don't Fragment v hlavičce IP adresy. Tento parametr můžete použít s parametrem BufferSize k otestování velikosti PATH MTU. Další informace o Path MTU naleznete v článku Path MTU Discovery na Wikipedii.

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

-IPv4

Vynutí rutinu, aby pro test používala protokol IPv4.

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

-IPv6

Vynutí rutinu, aby pro test používala protokol IPv6.

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

-MaxHops

Nastaví maximální počet segmentů směrování, které je možné odeslat zprávou požadavku ICMP. Výchozí hodnota je řízena operačním systémem. Výchozí hodnota pro Windows 10 a vyšší je 128 segmentů směrování.

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

-MtuSize

Tento parametr se používá ke zjištění velikosti PATH MTU. Rutina vrátí objekt PingReply#MTUSize , který obsahuje velikost PATH MTU cíle. Další informace o Path MTU naleznete v článku Path MTU Discovery na Wikipedii.

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

-Ping

Způsobí, že rutina provede test ping. Toto je výchozí režim rutiny Test-Connection .

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

-Quiet

Parametr Quiet vrátí logickou hodnotu. Použití tohoto parametru potlačí všechny chyby.

Každé otestované připojení vrátí logickou hodnotu. Pokud parametr TargetName určuje více počítačů, vrátí se pole logických hodnot.

Pokud bude příkaz ping na daný cíl úspěšný, $True vrátí se příkaz ping.

Pokud všechny příkazy ping na daný cíl selžou, $False vrátí se.

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

-Repeat

Způsobí, že rutina bude odesílat žádosti ping nepřetržitě. Pokud je hodnota TargetName polem cílů, rutina opakuje požadavky ping pouze pro první cíl. Ignoruje zbývající cíle. Tento parametr nelze použít s parametrem Count .

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

-ResolveDestination

Způsobí, že se rutina pokusí přeložit název DNS cíle. Při použití ve spojení s parametrem Traceroute se v případě potřeby načtou také názvy DNS všech zprostředkujících hostitelů.

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

-Source

Určuje názvy počítačů, ze kterých pochází příkaz ping. Zadejte čárkami oddělený seznam názvů počítačů. Ve výchozím nastavení je to místní počítač.

Poznámka:

Tento parametr není podporován ve verzích PowerShellu 6 a novějších. Zadání tohoto parametru způsobí chybu.

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

-TargetName

Určuje počítače, které se mají testovat. Zadejte názvy počítačů nebo zadejte IP adresy ve formátu IPv4 nebo IPv6.

Type:String[]
Aliases:ComputerName
Position:0
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:False

-TcpPort

Určuje číslo portu TCP v cíli, které se má použít v testu připojení TCP. Rutina se pokusí vytvořit připojení TCP k zadanému portu v cíli.

Pokud je možné vytvořit připojení, $True vrátí se.

Pokud se připojení nedá vytvořit, $False vrátí se.

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

-TimeoutSeconds

Nastaví hodnotu časového limitu testu. Test selže, pokud odpověď není přijata před vypršením časového limitu. Výchozí hodnota je pět sekund.

Tento parametr byl představen v PowerShellu 6.0.

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

-Traceroute

Způsobí, že rutina provede test traceroute. Při použití tohoto parametru vrátí rutina TestConnectionCommand+TraceStatus objekt.

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

Vstupy

None

Do této rutiny nemůžete roušit objekty.

Výstupy

TestConnectionCommand+PingStatus

Ve výchozím nastavení vrátí tato rutina pro každou odpověď ping objekt Test Připojení ionCommand+PingStatus.

TestConnectionCommand+TraceStatus

Pokud použijete parametr Traceroute, vrátí tato rutina test Připojení ionCommand+TraceStatus objekt pro každou odpověď ping podél trasy.

Boolean

Pokud použijete parametry Quiet nebo TcpPort, vrátí tato rutina logickou hodnotu. Pokud rutina testuje více připojení, vrátí pole logických hodnot.

TestConnectionCommand+PingMtuStatus

Pokud použijete parametr MtuSize, vrátí tato rutina pro každou odpověď ping test Připojení ionCommand+PingMtuStatus objekt.