Share via


Test-Connection

Sendet ICMP-Echoanforderungspakete oder Pings an einen oder mehrere Computer.

Syntax

Test-Connection
    [-TargetName] <string[]>
    [-Ping]
    [-IPv4]
    [-IPv6]
    [-ResolveDestination]
    [-Source <string>]
    [-MaxHops <int>]
    [-Count <int>]
    [-Delay <int>]
    [-BufferSize <int>]
    [-DontFragment]
    [-TimeoutSeconds <int>]
    [-Quiet]
    [<CommonParameters>]
Test-Connection
    [-TargetName] <string[]>
    -Repeat
    [-Ping]
    [-IPv4]
    [-IPv6]
    [-ResolveDestination]
    [-Source <string>]
    [-MaxHops <int>]
    [-Delay <int>]
    [-BufferSize <int>]
    [-DontFragment]
    [-TimeoutSeconds <int>]
    [-Quiet]
    [<CommonParameters>]
Test-Connection
    [-TargetName] <string[]>
    -MtuSize
    [-IPv4]
    [-IPv6]
    [-ResolveDestination]
    [-TimeoutSeconds <int>]
    [-Quiet]
    [<CommonParameters>]
Test-Connection
    [-TargetName] <string[]>
    -Traceroute
    [-IPv4]
    [-IPv6]
    [-ResolveDestination]
    [-Source <string>]
    [-MaxHops <int>]
    [-TimeoutSeconds <int>]
    [-Quiet]
    [<CommonParameters>]
Test-Connection
    [-TargetName] <string[]>
    -TcpPort <int>
    [-IPv4]
    [-IPv6]
    [-ResolveDestination]
    [-Source <string>]
    [-TimeoutSeconds <int>]
    [-Quiet]
    [<CommonParameters>]

Beschreibung

Das Test-Connection Cmdlet sendet ICMP-Echoanforderungspakete (Internet Control Message Protocol) an einen oder mehrere Remotecomputer und gibt die Echoantwortantworten zurück. Sie können dieses Cmdlet verwenden, um zu bestimmen, ob ein bestimmter Computer über ein IP-Netzwerk kontaktiert werden kann.

Sie können die Parameter von Test-Connection verwenden, um sowohl den sendenden als auch den empfangenden Computer anzugeben, den Befehl als Hintergrundauftrag auszuführen, ein Timeout und die Anzahl von Pings festzulegen und die Verbindung und Authentifizierung zu konfigurieren.

Im Gegensatz zum bekannten ping-BefehlTest-Connection gibt ein TestConnectionCommand+PingStatus-Objekt zurück, das Sie in PowerShell untersuchen können. Der Quiet-Parameter gibt einen booleschen Wert in einem System.Boolean-Objekt für jede getestete Verbindung zurück. Wenn mehrere Verbindungen getestet werden, wird ein Array boolescher Werte zurückgegeben.

Beispiele

Beispiel 1: Senden von Echoanforderungen an einen Remotecomputer

In diesem Beispiel werden Echoanforderungspakete vom lokalen Computer an den Computer Server01 gesendet.

Test-Connection -TargetName Server01 -IPv4

Destination: Server01

Ping Source           Address                   Latency BufferSize Status
                                                   (ms)        (B)
---- ------           -------                   ------- ---------- ------
   1 ADMIN1           10.59.137.44                   24         32 Success
   2 ADMIN1           10.59.137.44                   39         32 Success
   3 ADMIN1           *                               *          * TimedOut
   4 ADMIN1           10.59.137.44                   28         32 Success

Test-Connection verwendet den TargetName-Parameter , um den Server01-Computer anzugeben. Der IPv4-Parameter gibt das Protokoll für den Test an.

Eine Reihe von TestConnectionCommand+PingStatus-Objekten wird an den Ausgabedatenstrom gesendet, ein Objekt pro Pingantwort vom Zielcomputer.

Beispiel 2: Senden von Echoanforderungen an mehrere Computer

In diesem Beispiel werden Pings vom lokalen Computer an mehrere Remotecomputer gesendet.

Test-Connection -TargetName Server01, Server02, Server12

Beispiel 3: Verwenden von Parametern zum Anpassen des Testbefehls

In diesem Beispiel werden die Parameter von Test-Connection verwendet, um den Befehl anzupassen. Der lokale Computer sendet einen Pingtest an einen Remotecomputer.

Test-Connection -TargetName Server01 -Count 3 -Delay 2 -MaxHops 255 -BufferSize 256

Test-Connection verwendet den Parameter TargetName , um Server01 anzugeben. Der Count-Parameter gibt an, dass drei Pings mit einer Verzögerung von 2-Sekunden-Intervallen an den Server01-Computer gesendet werden.

Sie können diese Optionen verwenden, wenn die Pingantwort aufgrund einer erweiterten Anzahl von Hops oder einer Netzwerkbedingung mit hohem Datenverkehr länger dauert als üblich.

Beispiel 4: Ausführen eines Tests als Hintergrundauftrag

In diesem Beispiel wird gezeigt, wie Sie einen Test-Connection Befehl als PowerShell-Hintergrundauftrag ausführen.

$job = Start-Job -ScriptBlock { Test-Connection -TargetName (Get-Content -Path "Servers.txt") }
$Results = Receive-Job $job -Wait

Der Start-Job Befehl verwendet das Test-Connection Cmdlet, um viele Computer in einem Unternehmen zu pingen. Der Wert des TargetName-Parameters ist ein Get-Content Befehl, der eine Liste von Computernamen aus der Servers.txt Datei liest. Der Befehl verwendet das Start-Job Cmdlet, um den Befehl als Hintergrundauftrag auszuführen, und speichert den Auftrag in der $job Variablen.

Der Receive-Job Befehl wird angewiesen, bis -Wait der Auftrag abgeschlossen ist, und ruft dann die Ergebnisse ab und speichert sie in der $Results Variablen.

Beispiel 5: Create einer Sitzung nur, wenn ein Verbindungstest erfolgreich ist

In diesem Beispiel wird nur dann eine Sitzung auf dem Computer Server01 erstellt, wenn mindestens einer der an den Computer gesendeten Pings erfolgreich ist.

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

Das Test-Connection Cmdlet pingt den Server01 Computer, wobei der Quiet-Parameter angegeben wird. Der resultierende Wert ist $True , wenn einer der vier Pings erfolgreich ist. Wenn keiner der Pings erfolgreich ist, ist $Falseder Wert .

Wenn der Test-Connection Befehl den Wert zurückgibt $True, verwendet der Befehl das New-PSSession Cmdlet, um die PSSession zu erstellen.

Beispiel 6: Verwenden des Traceroute-Parameters

Der in PowerShell 6.0 eingeführte Traceroute-Parameter ordnet eine Route zwischen dem lokalen Computer und dem Remoteziel zu, das Sie mit dem Parameter TargetName angeben.

Test-Connection -TargetName www.google.com -Traceroute

Target: google.com

Hop Hostname                  Ping Latency Status           Source       TargetAddress
                                      (ms)
--- --------                  ---- ------- ------           ------       -------------
  1 172.20.0.1                   1       4 Success          Lira         172.217.9.174
  1 172.20.0.1                   2       3 Success          Lira         172.217.9.174
  1 172.20.0.1                   3       2 Success          Lira         172.217.9.174
  2 12.108.153.193               1       3 Success          Lira         172.217.9.174
  2 12.108.153.193               2       3 Success          Lira         172.217.9.174
  2 12.108.153.193               3       2 Success          Lira         172.217.9.174
  3 12.244.85.177                1      11 Success          Lira         172.217.9.174
  3 12.244.85.177                2      12 Success          Lira         172.217.9.174
  3 12.244.85.177                3      12 Success          Lira         172.217.9.174
  4 *                            1      14 DestinationNetw… Lira         172.217.9.174
  4 *                            2       * TimedOut         Lira         172.217.9.174
  4 *                            3      20 DestinationNetw… Lira         172.217.9.174
  5 *                            1       * TimedOut         Lira         172.217.9.174
  5 *                            2      15 DestinationNetw… Lira         172.217.9.174
  5 *                            3       * TimedOut         Lira         172.217.9.174
  6 *                            1      18 DestinationNetw… Lira         172.217.9.174
  6 *                            2       * TimedOut         Lira         172.217.9.174
  6 *                            3      16 DestinationNetw… Lira         172.217.9.174
  7 *                            1       * TimedOut         Lira         172.217.9.174
  7 *                            2       * TimedOut         Lira         172.217.9.174
  7 *                            3       * TimedOut         Lira         172.217.9.174
  8 *                            1       * TimedOut         Lira         172.217.9.174
  8 *                            2       * TimedOut         Lira         172.217.9.174
  8 *                            3       * TimedOut         Lira         172.217.9.174
  9 *                            1       * TimedOut         Lira         172.217.9.174
  9 *                            2       * TimedOut         Lira         172.217.9.174
  9 *                            3       * TimedOut         Lira         172.217.9.174
 10 *                            1       * TimedOut         Lira         172.217.9.174
 10 *                            2       * TimedOut         Lira         172.217.9.174
 10 *                            3       * TimedOut         Lira         172.217.9.174
 11 172.217.9.174                1      23 Success          Lira         172.217.9.174
 11 172.217.9.174                2      21 Success          Lira         172.217.9.174
 11 172.217.9.174                3      22 Success          Lira         172.217.9.174

Der Test-Connection Befehl wird mit dem Parameter Traceroute aufgerufen. Die Ergebnisse, bei denen [Microsoft.PowerShell.Commands.TestConnectionCommand+TraceStatus] es sich um Objekte handelt, werden an den Success-Ausgabestream ausgegeben.

Parameter

-BufferSize

Gibt die Größe des mit diesem Befehl gesendeten Puffers in Bytes an. Der Standardwert ist 32.

Type:Int32
Aliases:Size, Bytes, BS
Position:Named
Default value:32
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Count

Gibt die Anzahl der zu sendenden Echoanforderungen an. Der Standardwert ist 4.

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

-Delay

Gibt das Intervall zwischen Pings in Sekunden an.

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

-DontFragment

Dieser Parameter legt das Don't Fragment-Flag im IP-Header fest. Sie können diesen Parameter mit dem Parameter BufferSize verwenden, um die Pfad-MTU-Größe zu testen. Weitere Informationen zur Pfad-MTU finden Sie im Artikel Pfad-MTU-Ermittlung in wikipedia.

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

-IPv4

Erzwingt, dass das Cmdlet das IPv4-Protokoll für den Test verwendet.

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

-IPv6

Erzwingt, dass das Cmdlet das IPv6-Protokoll für den Test verwendet.

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

-MaxHops

Legt die maximale Anzahl von Hops fest, die eine ICMP-Anforderungsnachricht gesendet werden kann. Der Standardwert wird vom Betriebssystem gesteuert. Der Standardwert für Windows 10 und höher beträgt 128 Hops.

Type:Int32
Aliases:Ttl, TimeToLive, Hops
Position:Named
Default value:128
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-MtuSize

Dieser Parameter wird verwendet, um die Pfad-MTU-Größe zu ermitteln. Das Cmdlet gibt ein PingReply#MTUSize-Objekt zurück, das die Path-MTU-Größe zum Ziel enthält. Weitere Informationen zur Pfad-MTU finden Sie im Artikel Pfad-MTU-Ermittlung in wikipedia.

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

-Ping

Bewirkt, dass das Cmdlet einen Pingtest durch führt. Dies ist der Standardmodus für das Test-Connection Cmdlet.

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

-Quiet

Der Quiet-Parameter gibt einen booleschen Wert zurück. Die Verwendung dieses Parameters unterdrückt alle Fehler.

Jede getestete Verbindung gibt einen booleschen Wert zurück. Wenn der Parameter TargetName mehrere Computer angibt, wird ein Array boolescher Werte zurückgegeben.

Wenn ein Ping an ein bestimmtes Ziel erfolgreich ist, $True wird zurückgegeben.

Wenn alle Pings an ein bestimmtes Ziel fehlschlagen, $False wird zurückgegeben.

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

-Repeat

Bewirkt, dass das Cmdlet kontinuierlich Pinganforderungen sendet. Dieser Parameter kann nicht mit dem Count-Parameter verwendet werden.

Type:SwitchParameter
Aliases:Continuous
Position:Named
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters:False

-ResolveDestination

Bewirkt, dass das Cmdlet versucht, den DNS-Namen des Ziels aufzulösen. Bei Verwendung in Verbindung mit dem Traceroute-Parameter werden nach Möglichkeit auch die DNS-Namen aller Zwischenhosts abgerufen.

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

-Source

Gibt die Namen der Computer an, von denen der Ping stammt. Geben Sie eine durch Trennzeichen getrennte Liste von Computernamen ein. Die Standardeinstellung ist der lokale Computer.

Hinweis

Dieser Parameter wird in PowerShell-Versionen 6 und höher nicht unterstützt. Die Angabe dieses Parameters verursacht einen Fehler.

Type:String
Position:Named
Default value:Local computer
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-TargetName

Gibt die zu testden Computer an. Geben Sie die Computernamen oder IP-Adressen im IPv4- oder IPv6-Format ein.

Type:String[]
Aliases:ComputerName
Position:0
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:False

-TcpPort

Gibt die TCP-Portnummer für das Ziel an, das im TCP-Verbindungstest verwendet werden soll. Das Cmdlet versucht, eine TCP-Verbindung mit dem angegebenen Port auf dem Ziel herzustellen.

Wenn eine Verbindung hergestellt werden kann, $True wird zurückgegeben.

Wenn keine Verbindung hergestellt werden kann, $False wird zurückgegeben.

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

-TimeoutSeconds

Legt den Timeoutwert für den Test fest. Der Test schlägt fehl, wenn eine Antwort nicht empfangen wird, bevor das Timeout abläuft. Der Standardwert beträgt fünf Sekunden.

Dieser Parameter wurde in PowerShell 6.0 eingeführt.

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

-Traceroute

Bewirkt, dass das Cmdlet einen Traceroute-Test durchführt. Wenn dieser Parameter verwendet wird, gibt das Cmdlet ein TestConnectionCommand+TraceStatus -Objekt zurück.

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

Eingaben

None

Sie können keine Eingabe an dieses Cmdlet übergeben.

Ausgaben

TestConnectionCommand+PingStatus, TestConnectionCommand+TraceStatus, Boolean, TestConnectionCommand+PingMtuStatus

Standardmäßig Test-Connection wird für jede Pingantwort ein TestConnectionCommand+PingStatus-Objekt zurückgegeben.

Wenn Sie den Traceroute-Parameter angeben, gibt das Cmdlet für jede Pingantwort entlang der Route ein TestConnectionCommand+TraceStatus-Objekt zurück.

Wenn Sie den Parameter Quiet oder TcpPort angeben, wird ein boolescher Wert zurückgegeben. Wenn mehrere Verbindungen getestet werden, wird ein Array boolescher Werte zurückgegeben.