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 Echoanforderungspakete (Internet Control Message Protocol, ICMP) oder Pings an einen oder mehrere Remotecomputer und gibt die Echoantworten zurück. Mit diesem Cmdlet können Sie ermitteln, ob ein bestimmter Computer über ein IP-Netzwerk kontaktiert werden kann.

Sie können die Parameter zum Angeben der Test-Connection Sende- und Empfangscomputer verwenden, um den Befehl als Hintergrundauftrag auszuführen, ein Timeout und eine Anzahl von Pings festzulegen und die Verbindung und Authentifizierung zu konfigurieren.

Gibt im Gegensatz zum vertrauten PingbefehlTest-Connection ein Test Verbinden ionCommand+PingStatus-Objekt zurück, das Sie in PowerShell untersuchen können. Der Parameter Quiet 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 Server01-Computer 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 Parameter TargetName , um den Server01-Computer anzugeben. Der IPv4-Parameter gibt das Protokoll für den Test an.

Eine Reihe von Test Verbinden ionCommand+PingStatus-Objekten werden 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 zum Anpassen des Test-Connection Befehls verwendet. 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 Parameter Count gibt drei Pings an den Server01-Computer mit einer Verzögerung von 2 Sekunden an.

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

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 der 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, -Wait bis der Auftrag abgeschlossen ist, und ruft dann die Ergebnisse ab und speichert sie in der $Results Variablen.

Beispiel 5: Erstellen einer Sitzung nur, wenn ein Verbindungstest erfolgreich war

In diesem Beispiel wird nur dann eine Sitzung auf dem Server01-Computer 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 mit dem bereitgestellten Parameter Quiet . Der resultierende Wert ist, wenn einer der vier Pings erfolgreich ist $True . Wenn keine der Pings erfolgreich ist, lautet $Falseder Wert .

Wenn der Test-Connection Befehl einen Wert zurückgibt $True, verwendet der Befehl das New-PSSession Cmdlet zum Erstellen der PSSession.

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, die Objekte sind [Microsoft.PowerShell.Commands.TestConnectionCommand+TraceStatus] , werden im Erfolgsausgabedatenstrom 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 Flag "Nicht fragmentieren " im IP-Header fest. Sie können diesen Parameter mit dem Parameter BufferSize verwenden, um die Path MTU-Größe zu testen. Weitere Informationen zur Path MTU finden Sie im Path MTU Discovery-Artikel in wikipedia.

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

-IPv4

Erzwingt die Verwendung des IPv4-Protokolls für den Test.

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

-IPv6

Erzwingt das Cmdlet, das IPv6-Protokoll für den Test zu verwenden.

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 ist 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 Path MTU-Größe zu ermitteln. Das Cmdlet gibt ein PingReply#MTUSize-Objekt zurück, das die Path MTU-Größe an das Ziel enthält. Weitere Informationen zur Path MTU finden Sie im Path MTU Discovery-Artikel 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 durchführen kann. 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 Parameter Quiet gibt einen booleschen Wert zurück. Wenn Sie diesen Parameter verwenden, werden alle Fehler unterdrückt.

Jede getestete Verbindung gibt einen booleschen Wert zurück. Wenn der Parameter TargetName mehrere Computer angibt, wird ein Array boolescherWerte 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 ein Fehler zurückgegeben.

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

-Repeat

Bewirkt, dass das Cmdlet Pinganforderungen kontinuierlich sendet. Wenn der Wert von TargetName ein Array von Zielen ist, wiederholt das Cmdlet die Pinganforderungen nur für das erste Ziel. Sie ignoriert die erneuten Ziele Standard. 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 die DNS-Namen aller Zwischenhosts ggf. ebenfalls 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. Wenn Sie diesen Parameter angeben, tritt ein Fehler auf.

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 für das Ziel herzustellen.

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

Wenn keine Verbindung hergestellt werden kann, $False wird diese 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 ist 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

Führt dazu, dass das Cmdlet einen Traceroute-Test durchführen kann. 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 Objekte an dieses Cmdlet weiterleiten.

Ausgaben

TestConnectionCommand+PingStatus

Standardmäßig gibt dieses Cmdlet ein Test Verbinden ionCommand+PingStatus-Objekt für jede Pingantwort zurück.

TestConnectionCommand+TraceStatus

Wenn Sie den Parameter Traceroute verwenden, gibt dieses Cmdlet ein Test Verbinden ionCommand+TraceStatus-Objekt für jede Pingantwort entlang der Route zurück.

Boolean

Wenn Sie die Parameter "Quiet" oder "TcpPort " verwenden, gibt dieses Cmdlet einen booleschen Wert zurück. Wenn das Cmdlet mehrere Verbindungen testet, wird ein Array boolescher Werte zurückgegeben.

TestConnectionCommand+PingMtuStatus

Wenn Sie den MtuSize-Parameter verwenden, gibt dieses Cmdlet ein Test Verbinden ionCommand+PingMtuStatus-Objekt für jede Pingantwort zurück.