Test-Connection
Odešle pakety s žádostí o odezvu PROTOKOLU ICMP nebo příkazy ping do jednoho nebo více počítačů.
Syntaxe
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-Connection
použí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-Connection
použí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-Connection
použí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-PSSession
k vytvoření psSession.
Parametry
-AsJob
Označuje, že tato rutina běží jako úloha na pozadí. 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. 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.
Typ: | SwitchParameter |
Position: | Named |
Default value: | False |
Vyžadováno: | False |
Přijmout vstup kanálu: | False |
Přijmout zástupné znaky: | False |
-BufferSize
Určuje velikost vyrovnávací paměti odeslané tímto příkazem v bajtech. Výchozí hodnota je 32.
Typ: | Int32 |
Aliasy: | Size, Bytes, BS |
Position: | Named |
Default value: | 32 |
Vyžadováno: | False |
Přijmout vstup kanálu: | False |
Přijmout zástupné znaky: | 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 .
Typ: | String[] |
Aliasy: | CN, IPAddress, __SERVER, Server, Destination |
Position: | 0 |
Default value: | None |
Vyžadováno: | True |
Přijmout vstup kanálu: | True |
Přijmout zástupné znaky: | False |
-Count
Určuje počet požadavků na odezvu, které se mají odeslat. Výchozí hodnota je 4.
Typ: | Int32 |
Position: | Named |
Default value: | 4 |
Vyžadováno: | False |
Přijmout vstup kanálu: | False |
Přijmout zástupné znaky: | 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č.
Typ: | PSCredential |
Position: | Named |
Default value: | Current user |
Vyžadováno: | False |
Přijmout vstup kanálu: | False |
Přijmout zástupné znaky: | 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.
Typ: | AuthenticationLevel |
Aliasy: | Authentication |
Přípustné hodnoty: | Default, None, Connect, Call, Packet, PacketIntegrity, PacketPrivacy, Unchanged |
Position: | Named |
Default value: | Packet (enumerated value of 4) |
Vyžadováno: | False |
Přijmout vstup kanálu: | False |
Přijmout zástupné znaky: | False |
-Delay
Určuje interval mezi příkazy ping v sekundách.
Typ: | Int32 |
Position: | Named |
Default value: | 1 (second) |
Vyžadováno: | False |
Přijmout vstup kanálu: | False |
Přijmout zástupné znaky: | 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í.
Typ: | ImpersonationLevel |
Přípustné hodnoty: | Default, Anonymous, Identify, Impersonate, Delegate |
Position: | Named |
Default value: | Impersonate |
Vyžadováno: | False |
Přijmout vstup kanálu: | False |
Přijmout zástupné znaky: | False |
-Protocol
Určuje protokol. Přijatelné hodnoty pro tento parametr jsou DCOM a WSMan.
Typ: | String |
Přípustné hodnoty: | DCOM, WSMan |
Position: | Named |
Default value: | None |
Vyžadováno: | False |
Přijmout vstup kanálu: | False |
Přijmout zástupné znaky: | 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.
Typ: | SwitchParameter |
Position: | Named |
Default value: | False |
Vyžadováno: | False |
Přijmout vstup kanálu: | False |
Přijmout zástupné znaky: | 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č.
Typ: | String[] |
Aliasy: | FCN, SRC |
Position: | 1 |
Default value: | Local computer |
Vyžadováno: | True |
Přijmout vstup kanálu: | False |
Přijmout zástupné znaky: | 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č.
Typ: | Int32 |
Position: | Named |
Default value: | 32 |
Vyžadováno: | False |
Přijmout vstup kanálu: | False |
Přijmout zástupné znaky: | 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.
Typ: | Int32 |
Aliasy: | TTL |
Position: | Named |
Default value: | 128 in Windows |
Vyžadováno: | False |
Přijmout vstup kanálu: | False |
Přijmout zástupné znaky: | 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í
- Trávit
- 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.
Typ: | String |
Přípustné hodnoty: | Default, Basic, Negotiate, CredSSP, Digest, Kerberos |
Position: | Named |
Default value: | Default |
Vyžadováno: | False |
Přijmout vstup kanálu: | False |
Přijmout zástupné znaky: | False |
Vstupy
None
Do této rutiny nemůžete roušit objekty.
Výstupy
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 .
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.