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-Connection
ping 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ě $False
je .
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
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.