Sdílet prostřednictvím


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
    [-AsJob]
    [-DcomAuthentication <AuthenticationLevel>]
    [-WsmanAuthentication <String>]
    [-Protocol <String>]
    [-BufferSize <Int32>]
    [-ComputerName] <String[]>
    [-Count <Int32>]
    [-Impersonation <ImpersonationLevel>]
    [-ThrottleLimit <Int32>]
    [-TimeToLive <Int32>]
    [-Delay <Int32>]
    [<CommonParameters>]
Test-Connection
    [-AsJob]
    [-DcomAuthentication <AuthenticationLevel>]
    [-WsmanAuthentication <String>]
    [-Protocol <String>]
    [-BufferSize <Int32>]
    [-ComputerName] <String[]>
    [-Count <Int32>]
    [-Credential <PSCredential>]
    [-Source] <String[]>
    [-Impersonation <ImpersonationLevel>]
    [-ThrottleLimit <Int32>]
    [-TimeToLive <Int32>]
    [-Delay <Int32>]
    [<CommonParameters>]
Test-Connection
    [-DcomAuthentication <AuthenticationLevel>]
    [-WsmanAuthentication <String>]
    [-Protocol <String>]
    [-BufferSize <Int32>]
    [-ComputerName] <String[]>
    [-Count <Int32>]
    [-Impersonation <ImpersonationLevel>]
    [-TimeToLive <Int32>]
    [-Delay <Int32>]
    [-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í objekt Win32_PingStatus, 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 -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-Connectionpoužívá parametr ComputerName k určení počítače Server01.

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 -ComputerName Server01, Server02, Server12

Příklad 3: Odeslání žádostí o 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-Connectionpoužívá parametr Credential k zadání přihlašovacích údajů uživatele, který má oprávnění odeslat požadavek ping ze zdrojových počítačů. Tento formát příkazu slouží k otestování latence 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 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 -ComputerName Server01 -Count 3 -Delay 2 -TTL 255 -BufferSize 256 -ThrottleLimit 32

Test-Connectionpoužívá parametr ComputerName k určení Serveru01. 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 5: 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 = Test-Connection -ComputerName (Get-Content Servers.txt) -AsJob
if ($job.JobStateInfo.State -ne "Running") {$Results = Receive-Job $job}

Příkaz Test-Connection ping odešle příkaz ping mnoha počítačům v podniku. Hodnota parametru ComputerName je Get-Content příkaz, který čte seznam názvů počítačů z objektu Servers.txt file. Příkaz pomocí parametru AsJob spustí příkaz jako úlohu na pozadí a uloží úlohu do $job proměnné.

Příkaz if zkontroluje, jestli ú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 na vzdálený počítač s přihlašovacími údaji

Tento příkaz používá rutinu Test-Connection ke vzdálenému počítači příkazem ping.

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

Tento příkaz pomocí parametru Credential určí uživatelský účet, který má oprávnění k příkazu ping vzdáleného počítače a parametru zosobnění, aby změnil úroveň zosobnění na Hodnotu Identify.

Příklad 7: Vytvoření relace 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 z příkazů ping odeslaných do počítače bude úspěšný.

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

Příkaz if používá rutinu Test-Connection k příkazu ping na počítač Server01. Příkaz používá parametr Quiet , který vrací logickou hodnotu místo objektu Win32_PingStatus . Hodnota je $True v případě, že některý ze čtyř příkazů ping proběhne úspěšně a v opačném případě $False.

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

Parametry

-AsJob

Označuje, že tato rutina běží 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 je nutné 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. K získání výsledků úlohy použijte rutinu Receive-Job .

Další informace o úlohách na pozadí PowerShellu 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

-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í příkaz ping. Zadejte názvy počítačů nebo zadejte 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ý tak, aby spouštět vzdálené příkazy.

Poznámka:

Parametr ComputerName se v PowerShellu 6.0 a novějším přejmenuje na TargetName .

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 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

-Credential

Určuje uživatelský účet, který má oprávnění odeslat 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

-DcomAuthentication

Určuje úroveň ověřování, kterou tato rutina používá s rozhraním WMI. Test-Connection používá rozhraní WMI. Tento parametr přijímá tyto hodnoty:

  • Výchozí. Ověřování systému Windows
  • Nezaokrouhlovat. Bez ověřování modelu COM
  • Connect. ověřování modelu COM na úrovni Připojení
  • Zavolej. 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ů
  • Beze změny. Stejné jako předchozí příkaz

Výchozí hodnota je Packet , který má výčtovou hodnotu 4. Další informace o hodnotách tohoto parametru naleznete v tématu AuthenticationLevel výčtu.

Type:AuthenticationLevel
Aliases:Authentication
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

-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 Zosobnění.

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

-Protocol

Určuje protokol. Přijatelné hodnoty pro tento parametr jsou DCOM a WSMan.

Type:String
Accepted values:DCOM, WSMan
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Quiet

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

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

Pokud bude 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 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č.

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 navázat 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, ne 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í dobu předání paketu. U každého segmentu směrování v branách, směrovačích atd. hodnota TimeToLive se 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

-WsmanAuthentication

Určuje mechanismus, který se používá k ověření přihlašovacích údajů uživatele, když tato rutina používá protokol WSMan. Tento parametr přijímá tyto hodnoty:

  • Basic
  • CredSSP
  • Výchozí
  • Digest
  • Kerberos
  • Vyjednávat.

Výchozí hodnota je Default.

Další informace o hodnotách tohoto parametru naleznete v tématu AuthenticationMechanism – výčet.

Upozornění: Ověřování zprostředkovatele služby CredSSP (Credential Security Service Provider), ve kterém jsou přihlašovací údaje uživatele předány vzdálenému počítači, který se má ověřit, je určený pro příkazy, které vyžadují ověření u více než jednoho prostředku, jako je například přístup ke vzdálené síťové sdílené složce. Tento mechanismus zvyšuje riziko zabezpečení vzdálené operace. Pokud dojde k ohrožení zabezpečení vzdáleného počítače, dají se k řízení síťové relace použít přihlašovací údaje, které jsou mu předány.

Tento parametr byl představen ve Windows PowerShellu 3.0.

Type:String
Accepted values:Default, Basic, Negotiate, CredSSP, Digest, Kerberos
Position:Named
Default value:Default
Required:False
Accept pipeline input:False
Accept wildcard characters:False

Vstupy

None

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

Výstupy

ManagementObject

Ve výchozím nastavení vrátí tato rutina Win32_PingStatus objekt pro každou odpověď ping.

System.Management.Automation.RemotingJob

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

Boolean

Pokud použijete parametr Quiet , vrátí se logická hodnota. Pokud rutina testuje více připojení, vrátí pole logických hodnot.

Poznámky

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

Sada parametrů Source byla zavedena v PowerShellu 3.0.