Sdílet prostřednictvím


Test-Connection

Odesílá pakety požadavků na odezvu protokolu ICMP (ping) do jednoho nebo více počítačů.

Syntax

Test-Connection
    [-ComputerName] <String[]>
    [-AsJob]
    [-Authentication <AuthenticationLevel>]
    [-BufferSize <Int32>]
    [-Count <Int32>]
    [-Impersonation <ImpersonationLevel>]
    [-ThrottleLimit <Int32>]
    [-TimeToLive <Int32>]
    [-Delay <Int32>]
    [<CommonParameters>]
Test-Connection
    [-ComputerName] <String[]>
    [-Source] <String[]>
    [-AsJob]
    [-Authentication <AuthenticationLevel>]
    [-BufferSize <Int32>]
    [-Count <Int32>]
    [-Credential <PSCredential>]
    [-Impersonation <ImpersonationLevel>]
    [-ThrottleLimit <Int32>]
    [-TimeToLive <Int32>]
    [-Delay <Int32>]
    [<CommonParameters>]
Test-Connection
    [-ComputerName] <String[]>
    [-Authentication <AuthenticationLevel>]
    [-BufferSize <Int32>]
    [-Count <Int32>]
    [-Impersonation <ImpersonationLevel>]
    [-TimeToLive <Int32>]
    [-Delay <Int32>]
    [-Quiet]
    [<CommonParameters>]

Description

Rutina Test-Connection odesílá pakety požadavku odezvy protokolu ICMP (Internet Control Message Protocol) nebo ping do jednoho nebo více vzdálených počítačů a vrací odpovědi odezvy. Pomocí této rutiny můžete určit, jestli je možné kontaktovat konkrétní počítač přes síť IP.

Pomocí parametrů Test-Connection můžete určit odesílající i přijímající počítač, 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-Connectionping vrátí objekt Win32_PingStatus, který můžete prozkoumat v PowerShellu. Parametr Quiet vrátí logickou hodnotu v objektu System.Boolean pro každé testované připojení. Pokud je testováno více připojení, vrátí se pole logických hodnot.

Příklady

Příklad 1: Odeslání žádostí o odezvu do vzdáleného počítače

Tento příklad odesílá pakety požadavku na odezvu z místního počítače do počítače Server01.

Test-Connection -ComputerName Server01

Source        Destination     IPV4Address     IPV6Address  Bytes    Time(ms)
------        -----------     -----------     -----------  -----    --------
ADMIN1        Server01         10.59.137.44                32       0
ADMIN1        Server01         10.59.137.44                32       0
ADMIN1        Server01         10.59.137.44                32       0
ADMIN1        Server01         10.59.137.44                32       1

Test-Connection používá parametr ComputerName k určení počítače Server01.

Příklad 2: Odeslání požadavků na odezvu do několika počítačů

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

Test-Connection -ComputerName Server01, Server02, Server12

Příklad 3: Odeslání požadavků na odezvu z několika počítačů do počítače

Tento příklad odesílá příkazy ping z různých zdrojových počítačů do jednoho vzdáleného počítače Server01.

Test-Connection -Source Server02, Server12, localhost -ComputerName Server01 -Credential Domain01\Admin01

Test-Connection používá parametr Credential k určení přihlašovacích údajů uživatele, který má oprávnění odesílat požadavek ping ze zdrojových počítačů. Pomocí tohoto formátu příkazu otestujte latenci připojení z více bodů.

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

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

Test-Connection -ComputerName Server01 -Count 3 -Delay 2 -TTL 255 -BufferSize 256 -ThrottleLimit 32

Test-Connection použije parametr TargetName k zadání Serveru01. Parametr Count určuje, že se do počítače Server01 odešlou tři příkazy ping s dvousekundovým zpožděním .

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

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

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

$job = Test-Connection -ComputerName (Get-Content Servers.txt) -AsJob
if ($job.JobStateInfo.State -ne "Running") {$Results = Receive-Job $job}

Příkaz Test-Connection ping ping mnoho počítačů v podniku. Hodnota parametru ComputerName je Get-Content příkaz, který přečte seznam názvů počítačů z objektu Servers.txt file. Příkaz použije parametr AsJob ke spuštění příkazu jako úlohu na pozadí a uloží úlohu do $job proměnné.

Příkaz if zkontroluje, že úloha stále není spuštěná. Pokud úloha není spuštěná, Receive-Job získá výsledky a uloží je do $Results proměnné.

Příklad 6: Příkaz Ping vzdáleného počítače pomocí přihlašovacích údajů

Tento příkaz používá rutinu Test-Connection k příkazu ping vzdáleného počítače.

Test-Connection Server55 -Credential Domain55\User01 -Impersonation Identify

Příkaz používá parametr Credential k určení uživatelského účtu, který má oprávnění k příkazu ping vzdáleného počítače, a parametr zosobnění ke změně úrovně zosobnění na Identifikovat.

Příklad 7: Create relaci pouze v případě úspěšného testu připojení

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

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

Příkaz if pomocí rutiny Test-Connection ping počítač Server01. Příkaz používá parametr Quiet, který místo objektu Win32_PingStatus vrátí logickouhodnotu. Hodnota je $True , pokud je některý ze čtyř příkazů ping úspěšný a v opačném případě $Falseje .

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

Parametry

-AsJob

Označuje, že tato rutina se spouští jako úloha na pozadí.

Chcete-li použít tento parametr, musí být místní a vzdálené počítače nakonfigurovány pro vzdálenou komunikace a v systému Windows Vista a novějších verzích operačního systému Windows musíte otevřít PowerShell pomocí možnosti Spustit jako správce . Další informace najdete v tématu about_Remote_Requirements.

Když zadáte parametr AsJob , příkaz okamžitě vrátí objekt, který představuje úlohu na pozadí. Během dokončení úlohy můžete pokračovat v práci v relaci. Úloha se vytvoří v místním počítači a výsledky ze vzdálených počítačů se automaticky vrátí do místního počítače. Pokud chcete získat výsledky úlohy, použijte rutinu Receive-Job .

Další informace o úlohách PowerShellu na pozadí najdete v tématu about_Jobs a about_Remote_Jobs.

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

-Authentication

Určuje úroveň ověřování, která se používá pro připojení rozhraní WMI. Test-Connection používá rozhraní WMI.

Platné hodnoty jsou následující:

  • Beze změny: Úroveň ověřování je stejná jako u předchozího příkazu.
  • Výchozí: Ověřování systému Windows.
  • Žádné: Žádné ověřování modelu COM.
  • Připojení: Ověřování modelu COM na úrovni připojení.
  • Volání: Ověřování modelu COM na úrovni volání.
  • Paket: Ověřování modelu COM na úrovni paketů.
  • PacketIntegrity: Ověřování modelu COM na úrovni integrity paketů.
  • PacketPrivacy: Ověřování modelu COM na úrovni ochrany osobních údajů paketů.

Výchozí hodnota je Packet s výčtovou hodnotou 4. Další informace o hodnotách tohoto parametru najdete v tématu AuthenticationLevel – výčet.

Type:AuthenticationLevel
Accepted values:Default, None, Connect, Call, Packet, PacketIntegrity, PacketPrivacy, Unchanged
Position:Named
Default value:Packet (enumerated value of 4)
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-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

-ComputerName

Určuje počítače, které mají být příkazem ping. Zadejte názvy počítačů nebo IP adresy ve formátu IPv4 nebo IPv6. Zástupné znaky nejsou povoleny. Tento parametr je povinný.

Tento parametr nespoléhá na vzdálené komunikace PowerShellu. Parametr ComputerName můžete použít i v případě, že váš počítač není nakonfigurovaný pro spouštění vzdálených příkazů.

Type:String[]
Aliases:CN, IPAddress, __SERVER, Server, Destination
Position:0
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:False

-Count

Určuje počet žádostí o 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

-Credential

Určuje uživatelský účet, který má oprávnění odesílat požadavek ping ze zdrojového počítače. Zadejte uživatelské jméno, například User01 nebo Domain01\User01, nebo zadejte objekt PSCredential , například objekt z rutiny Get-Credential .

Parametr Credential je platný pouze v případě, že se v příkazu použije parametr Source . Přihlašovací údaje nemají vliv na cílový počítač.

Type:PSCredential
Position:Named
Default value:Current user
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:1 (second)
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Impersonation

Určuje úroveň zosobnění, která se má použít, když tato rutina volá rozhraní WMI. Test-Connection používá rozhraní WMI.

Přijatelné hodnoty pro tento parametr jsou následující:

  • Výchozí. Výchozí zosobnění.
  • Anonymní. Skryje identitu volajícího.
  • Identifikovat. Umožňuje objektům dotazovat přihlašovací údaje volajícího.
  • Zosobnit. Umožňuje objektům používat přihlašovací údaje volajícího.

Výchozí hodnota je Zosobnit.

Type:ImpersonationLevel
Accepted values:Default, Anonymous, Identify, Impersonate, Delegate
Position:Named
Default value:Impersonate
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Quiet

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

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

Pokud je příkaz ping úspěšný, $True vrátí se.

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

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 příkaz ping pochází. Zadejte seznam názvů počítačů oddělených čárkami. Výchozí hodnotou je místní počítač.

Type:String[]
Aliases:FCN, SRC
Position:1
Default value:Local computer
Required:True
Accept pipeline input:False
Accept wildcard characters:False

-ThrottleLimit

Určuje maximální počet souběžných připojení, která lze vytvořit pro spuštění tohoto příkazu. Pokud tento parametr vynecháte nebo zadáte hodnotu 0, použije se výchozí hodnota 32.

Omezení se vztahuje pouze na aktuální příkaz, nikoli na relaci nebo na počítač.

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

-TimeToLive

Určuje maximální časy, kdy může být paket přeposlán. Pro každý segment směrování v branách, směrovačích atd. se hodnota TimeToLive sníží o jeden. Při nule se paket zahodí a vrátí se chyba. Ve Windows je výchozí hodnota 128. Alias parametru TimeToLive je TTL.

Type:Int32
Aliases:TTL
Position:Named
Default value:128 in Windows
Required:False
Accept pipeline input:False
Accept wildcard characters:False

Vstupy

None

Do této rutiny nemůžete zadat vstup.

Výstupy

ManagementObject

Tato rutina vrátí objekt úlohy, pokud zadáte parametr AsJob .

Pokud zadáte parametr Quiet , vrátí logickou hodnotu. Pokud je testováno více připojení, vrátí se pole logických hodnot. V opačném Test-Connection případě vrátí objekt Win32_PingStatus pro každý příkaz ping.

Poznámky

Tato rutina používá třídu Win32_PingStatus . Příkaz Get-WMIObject Win32_PingStatus je ekvivalentem Test-Connection příkazu.

Sada parametrů Source byla zavedena v PowerShellu 3.0.