Udostępnij za pośrednictwem


Test-Connection

Wysyła pakiety żądania echa protokołu ICMP lub polecenia ping do co najmniej jednego komputera.

Składnia

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

Opis

Polecenie cmdlet Test-Connection wysyła pakiety żądań echa protokołu ICMP (Internet Control Message Protocol) do co najmniej jednego komputera zdalnego i zwraca odpowiedzi echa. Tego polecenia cmdlet można użyć do określenia, czy dany komputer może być kontaktowany w sieci IP.

Możesz użyć parametrów Test-Connection, aby określić zarówno komputery wysyłające, jak i odbierające, uruchamiać polecenie jako zadanie w tle, ustawiać limit czasu i liczbę poleceń ping oraz skonfigurować połączenie i uwierzytelnianie.

W przeciwieństwie do znanego polecenia ping polecenie zwraca obiekt Win32_PingStatus, który można zbadać w programie PowerShell. Parametr Quiet zwraca wartość logiczną w obiekcie System.Boolean dla każdego przetestowanego połączenia. Jeśli testowane jest wiele połączeń, zwracana jest tablica wartości logicznych.

Przykłady

Przykład 1. Wysyłanie żądań echa do komputera zdalnego

Ten przykład wysyła pakiety żądania echa z komputera lokalnego do komputera 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 używa parametru ComputerName do określenia komputera Server01.

Przykład 2. Wysyłanie żądań echa do kilku komputerów

Ten przykład wysyła polecenia ping z komputera lokalnego do kilku komputerów zdalnych.

Test-Connection -ComputerName Server01, Server02, Server12

Przykład 3. Wysyłanie żądań echa z kilku komputerów do komputera

Ten przykład wysyła polecenia ping z różnych komputerów źródłowych do jednego komputera zdalnego Server01.

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

używa parametru credential , aby określić poświadczenia użytkownika, który ma uprawnienia do wysyłania żądania ping z komputerów źródłowych. Użyj tego formatu polecenia, aby przetestować opóźnienie połączeń z wielu punktów.

Przykład 4. Dostosowywanie polecenia testowego za pomocą parametrów

W tym przykładzie użyto parametrów Test-Connection w celu dostosowania polecenia. Komputer lokalny wysyła test ping do komputera zdalnego.

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

Test-Connection używa parametru TargetName do określenia server01. Parametr Count określa trzy polecenia ping są wysyłane do komputera Server01 z Opóźnienie 2-sekundowych interwałów.

Te opcje mogą być używane, gdy oczekiwano, że odpowiedź ping będzie trwać dłużej niż zwykle, ze względu na rozszerzoną liczbę przeskoków lub stan sieci o dużym natężeniu ruchu.

Przykład 5. Uruchamianie testu jako zadania w tle

W tym przykładzie pokazano, jak uruchomić polecenie Test-Connection jako zadanie w tle programu PowerShell.

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

Polecenie Test-Connection wysyła polecenie ping do wielu komputerów w przedsiębiorstwie. Wartość parametru ComputerName to polecenie Get-Content, które odczytuje listę nazw komputerów z Servers.txt file. Polecenie używa parametru AsJob, aby uruchomić polecenie jako zadanie w tle i zapisuje zadanie w zmiennej $job.

Polecenie if sprawdza, czy zadanie nie jest jeszcze uruchomione. Jeśli zadanie nie jest uruchomione, Receive-Job pobiera wyniki i zapisuje je w zmiennej $Results.

Przykład 6. Wyślij polecenie ping do komputera zdalnego przy użyciu poświadczeń

To polecenie używa polecenia cmdlet Test-Connection do ping komputera zdalnego.

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

Polecenie używa parametru Credential , aby określić konto użytkownika, które ma uprawnienia do ping komputera zdalnego i parametr Personifikacja, aby zmienić poziom personifikacji na Identyfikowanie.

Przykład 7: Tworzenie sesji tylko wtedy, gdy test połączenia zakończy się pomyślnie

W tym przykładzie jest tworzona sesja na komputerze Server01 tylko wtedy, gdy co najmniej jeden z poleceń ping wysłanych do komputera zakończy się pomyślnie.

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

Polecenie if używa polecenia cmdlet Test-Connection do ping komputera Server01. Polecenie używa parametru Quiet, który zwraca wartość logiczną zamiast obiektu Win32_PingStatus. Wartość jest $True, jeśli którykolwiek z czterech poleceń ping powiedzie się i w przeciwnym razie $False.

Jeśli polecenie Test-Connection zwraca wartość $True, polecenie używa polecenia cmdlet New-PSSession do utworzenia PSSession .

Parametry

-AsJob

Wskazuje, że to polecenie cmdlet jest uruchamiane jako zadanie w tle.

Aby użyć tego parametru, komputery lokalne i zdalne muszą być skonfigurowane do komunikacji zdalnej i w systemie Windows Vista i nowszych wersjach systemu operacyjnego Windows, należy otworzyć program PowerShell przy użyciu Uruchom jako administrator opcji. Aby uzyskać więcej informacji, zobacz about_Remote_Requirements.

Po określeniu parametru AsJob polecenie natychmiast zwraca obiekt reprezentujący zadanie w tle. Możesz kontynuować pracę w sesji, gdy zadanie zostanie zakończone. Zadanie jest tworzone na komputerze lokalnym, a wyniki z komputerów zdalnych są automatycznie zwracane do komputera lokalnego. Aby uzyskać wyniki zadania, użyj polecenia cmdlet Receive-Job.

Aby uzyskać więcej informacji na temat zadań w tle programu PowerShell, zobacz about_Jobs i about_Remote_Jobs.

Typ:SwitchParameter
Position:Named
Domyślna wartość:False
Wymagane:False
Akceptowanie danych wejściowych potoku:False
Akceptowanie symboli wieloznacznych:False

-Authentication

Określa poziom uwierzytelniania, który jest używany dla połączenia usługi WMI. Test-Connection używa usługi WMI.

Prawidłowe wartości są następujące:

  • niezmienione: poziom uwierzytelniania jest taki sam jak poprzednie polecenie.
  • domyślne: uwierzytelnianie systemu Windows.
  • Brak: brak uwierzytelniania COM.
  • Connect: uwierzytelnianie COM na poziomie połączenia.
  • wywołanie: uwierzytelnianie COM na poziomie połączenia.
  • pakiet: uwierzytelnianie COM na poziomie pakietów.
  • PacketIntegrity: uwierzytelnianie COM na poziomie integralności pakietów.
  • PacketPrivacy: uwierzytelnianie COM na poziomie prywatności pakietów.

Wartość domyślna to Packet, która ma wyliczone wartości 4. Aby uzyskać więcej informacji na temat wartości tego parametru, zobacz AuthenticationLevel wyliczenie.

Typ:AuthenticationLevel
Dopuszczalne wartości:Default, None, Connect, Call, Packet, PacketIntegrity, PacketPrivacy, Unchanged
Position:Named
Domyślna wartość:Packet (enumerated value of 4)
Wymagane:False
Akceptowanie danych wejściowych potoku:False
Akceptowanie symboli wieloznacznych:False

-BufferSize

Określa rozmiar w bajtach buforu wysyłanego za pomocą tego polecenia. Wartość domyślna to 32.

Typ:Int32
Aliasy:Size, Bytes, BS
Position:Named
Domyślna wartość:32
Wymagane:False
Akceptowanie danych wejściowych potoku:False
Akceptowanie symboli wieloznacznych:False

-ComputerName

Określa komputery do ping. Wpisz nazwy komputerów lub wpisz adresy IP w formacie IPv4 lub IPv6. Symbole wieloznaczne nie są dozwolone. Ten parametr jest wymagany.

Ten parametr nie polega na komunikacji zdalnej programu PowerShell. Można użyć parametru ComputerName, nawet jeśli komputer nie jest skonfigurowany do uruchamiania poleceń zdalnych.

Typ:String[]
Aliasy:CN, IPAddress, __SERVER, Server, Destination
Position:0
Domyślna wartość:None
Wymagane:True
Akceptowanie danych wejściowych potoku:True
Akceptowanie symboli wieloznacznych:False

-Count

Określa liczbę żądań echa do wysłania. Wartość domyślna to 4.

Typ:Int32
Position:Named
Domyślna wartość:4
Wymagane:False
Akceptowanie danych wejściowych potoku:False
Akceptowanie symboli wieloznacznych:False

-Credential

Określa konto użytkownika, które ma uprawnienia do wysyłania żądania ping z komputera źródłowego. Wpisz nazwę użytkownika, taką jak User01 lub Domain01\User01, lub wprowadź obiekt PSCredential, taki jak jeden z polecenia cmdlet Get-Credential.

Parametr Credential jest prawidłowy tylko wtedy, gdy parametr źródłowy jest używany w poleceniu . Poświadczenia nie mają wpływu na komputer docelowy.

Typ:PSCredential
Position:Named
Domyślna wartość:Current user
Wymagane:False
Akceptowanie danych wejściowych potoku:False
Akceptowanie symboli wieloznacznych:False

-Delay

Określa interwał między poleceniami ping w sekundach.

Typ:Int32
Position:Named
Domyślna wartość:1 (second)
Wymagane:False
Akceptowanie danych wejściowych potoku:False
Akceptowanie symboli wieloznacznych:False

-Impersonation

Określa poziom personifikacji do użycia, gdy to polecenie cmdlet wywołuje usługę WMI. Test-Connection używa usługi WMI.

Dopuszczalne wartości tego parametru są następujące:

  • domyślną. Personifikacja domyślna.
  • anonimowe. Ukrywa tożsamość obiektu wywołującego.
  • Zidentyfikuj. Umożliwia obiektom wykonywanie zapytań dotyczących poświadczeń obiektu wywołującego.
  • Personifikuj. Umożliwia obiektom używanie poświadczeń obiektu wywołującego.

Wartość domyślna to Personifikuj.

Typ:ImpersonationLevel
Dopuszczalne wartości:Default, Anonymous, Identify, Impersonate, Delegate
Position:Named
Domyślna wartość:Impersonate
Wymagane:False
Akceptowanie danych wejściowych potoku:False
Akceptowanie symboli wieloznacznych:False

-Quiet

Parametr Quiet zwraca wartość logiczną w obiekcie System.Boolean. Użycie tego parametru pomija wszystkie błędy.

Każde przetestowane połączenie zwraca wartość logiczną . Jeśli parametr ComputerName określa wiele komputerów, zwracana jest tablica wartości wartości logicznych.

Jeśli polecenie ping powiedzie się, $True zostanie zwrócona.

Jeśli wszystkie polecenia ping kończą się niepowodzeniem, $False zostanie zwrócona.

Typ:SwitchParameter
Position:Named
Domyślna wartość:False
Wymagane:False
Akceptowanie danych wejściowych potoku:False
Akceptowanie symboli wieloznacznych:False

-Source

Określa nazwy komputerów, z których pochodzi polecenie ping. Wprowadź rozdzielaną przecinkami listę nazw komputerów. Wartość domyślna to komputer lokalny.

Typ:String[]
Aliasy:FCN, SRC
Position:1
Domyślna wartość:Local computer
Wymagane:True
Akceptowanie danych wejściowych potoku:False
Akceptowanie symboli wieloznacznych:False

-ThrottleLimit

Określa maksymalną liczbę połączeń współbieżnych, które można ustanowić w celu uruchomienia tego polecenia. Jeśli pominiesz ten parametr lub wprowadź wartość 0, zostanie użyta wartość domyślna 32.

Limit ograniczania ma zastosowanie tylko do bieżącego polecenia, a nie do sesji ani do komputera.

Typ:Int32
Position:Named
Domyślna wartość:32
Wymagane:False
Akceptowanie danych wejściowych potoku:False
Akceptowanie symboli wieloznacznych:False

-TimeToLive

Określa maksymalny czas przekazywania pakietu. Dla każdego przeskoku w bramach, routerach itp. wartość TimeToLive jest zmniejszana o jedną. Na zero pakiet jest odrzucany i zwracany jest błąd. W windowswartość domyślna to 128. Alias parametru TimeToLive to czasu wygaśnięcia.

Typ:Int32
Aliasy:TTL
Position:Named
Domyślna wartość:128 in Windows
Wymagane:False
Akceptowanie danych wejściowych potoku:False
Akceptowanie symboli wieloznacznych:False

Dane wejściowe

None

Nie można przekazać danych wejściowych potoku do tego polecenia cmdlet.

Dane wyjściowe

ManagementObject

To polecenie cmdlet zwraca obiekt zadania, jeśli określisz parametr AsJob.

Jeśli określisz parametr Quiet, zwraca wartość logiczną . Jeśli testowane jest wiele połączeń, zwracana jest tablica wartości logicznych. W przeciwnym razie Test-Connection zwraca obiekt Win32_PingStatus dla każdego polecenia ping.

Uwagi

To polecenie cmdlet używa klasy Win32_PingStatus. Polecenie Get-WMIObject Win32_PingStatus jest równoważne Test-Connection polecenia.

Zestaw parametrów source został wprowadzony w programie PowerShell 3.0.