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 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 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: Erstellen 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 mit dem Parameter Quiet .
Der resultierende Wert ist $True
, wenn einer der vier Pings erfolgreich ist. Wenn keiner der Pings erfolgreich ist, ist $False
der 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 |
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 |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Delay
Gibt das Intervall zwischen Pings in Sekunden an.
Type: | Int32 |
Position: | Named |
Default value: | None |
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 |
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 |
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 |
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 |
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 |
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 |
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 |
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 |
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 |
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 |
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 |
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 |
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 |
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 |
Accept pipeline input: | False |
Accept wildcard characters: | False |
Eingaben
None
Sie können keine Objekte an dieses Cmdlet übergeben.
Ausgaben
TestConnectionCommand+PingStatus
Standardmäßig gibt dieses Cmdlet ein TestConnectionCommand+PingStatus-Objekt für jede Pingantwort zurück.
TestConnectionCommand+TraceStatus
Wenn Sie den Traceroute-Parameter verwenden, gibt dieses Cmdlet ein TestConnectionCommand+TraceStatus-Objekt für jede Pingantwort entlang der Route zurück.
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 Parameter MtuSize verwenden, gibt dieses Cmdlet für jede Pingantwort ein TestConnectionCommand+PingMtuStatus-Objekt zurück.
Ähnliche Themen
Feedback
Feedback senden und anzeigen für