Test-Connection
Sendet ICMP-Echoanforderungspakete oder Pings an einen oder mehrere Computer.
Syntax
Default (Standardwert)
Test-Connection
[-ComputerName] <String[]>
[-AsJob]
[-DcomAuthentication <AuthenticationLevel>]
[-WsmanAuthentication <String>]
[-Protocol <String>]
[-BufferSize <Int32>]
[-Count <Int32>]
[-Impersonation <ImpersonationLevel>]
[-ThrottleLimit <Int32>]
[-TimeToLive <Int32>]
[-Delay <Int32>]
[<CommonParameters>]
Source
Test-Connection
[-ComputerName] <String[]>
[-Source] <String[]>
[-AsJob]
[-DcomAuthentication <AuthenticationLevel>]
[-WsmanAuthentication <String>]
[-Protocol <String>]
[-BufferSize <Int32>]
[-Count <Int32>]
[-Credential <PSCredential>]
[-Impersonation <ImpersonationLevel>]
[-ThrottleLimit <Int32>]
[-TimeToLive <Int32>]
[-Delay <Int32>]
[<CommonParameters>]
Quiet
Test-Connection
[-ComputerName] <String[]>
[-DcomAuthentication <AuthenticationLevel>]
[-WsmanAuthentication <String>]
[-Protocol <String>]
[-BufferSize <Int32>]
[-Count <Int32>]
[-Impersonation <ImpersonationLevel>]
[-TimeToLive <Int32>]
[-Delay <Int32>]
[-Quiet]
[<CommonParameters>]
Beschreibung
Das Cmdlet Test-Connection sendet Internet Control Message Protocol (ICMP)-Echoanforderungspakete 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 von Test-Connection verwenden, um sowohl die Senden- als auch empfangenden Computer anzugeben, um den Befehl als Hintergrundauftrag auszuführen, ein Timeout und eine Anzahl von Pings festzulegen und die Verbindung und Authentifizierung zu konfigurieren.
Im Gegensatz zum vertrauten Pingbefehl wird ein Win32_PingStatus Objekt zurückgegeben, Test-Connection das Sie in PowerShell untersuchen können. Der Parameter Quiet gibt einen Boolean Wert in einem System.Boolean-Objekt für jede getestete Verbindung zurück. Wenn mehrere Verbindungen getestet werden, wird ein Array von Boolean-Werten 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 -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 verwendet den Parameter ComputerName, um den Server01-Computer anzugeben.
Beispiel 2: Senden von Echoanforderungen an mehrere Computer
In diesem Beispiel werden Pings vom lokalen Computer an mehrere Remotecomputer gesendet.
Test-Connection -ComputerName Server01, Server02, Server12
Beispiel 3: Senden von Echoanforderungen von mehreren Computern an einen Computer
In diesem Beispiel werden Pings von verschiedenen Quellcomputern an einen einzelnen Remotecomputer , Server01, gesendet.
Test-Connection -Source Server02, Server12, localhost -ComputerName Server01 -Credential Domain01\Admin01
Test-Connection verwendet den Parameter "Credential ", um die Anmeldeinformationen eines Benutzers anzugeben, der über die Berechtigung zum Senden einer Pinganforderung von den Quellcomputern verfügt. Verwenden Sie diesen Befehl, um die Wartezeit von Verbindungen von mehreren Punkten aus zu überprüfen.
Beispiel 4: 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 -ComputerName Server01 -Count 3 -Delay 2 -TTL 255 -BufferSize 256 -ThrottleLimit 32
Test-Connection verwendet den Parameter ComputerName , um Server01 anzugeben. Der Parameter Count gibt an, dass drei Pings an den Computer Server01 mit einer Verzögerung in Intervallen von 2 Sekunden gesendet werden.
Sie können diese Optionen verwenden, wenn die Pingantwort voraussichtlich länger dauert als üblich, entweder aufgrund einer erhöhten Anzahl von Hops oder einer Netzwerksituation mit hohem Traffic.
Beispiel 5: Ausführen eines Tests als Hintergrundauftrag
In diesem Beispiel wird gezeigt, wie Sie einen Test-Connection Befehl als PowerShell-Hintergrundauftrag ausführen.
$job = Test-Connection -ComputerName (Get-Content Servers.txt) -AsJob
if ($job.JobStateInfo.State -ne "Running") {$Results = Receive-Job $job}
Der Test-Connection Befehl pingt viele Computer in einem Unternehmen. Der Wert des ComputerName-Parameters ist ein Get-Content Befehl, der eine Liste der Computernamen aus der Servers.txt file. Der Befehl verwendet den AsJob-Parameter , um den Befehl als Hintergrundauftrag auszuführen und speichert den Auftrag in der $job Variablen.
Der if Befehl überprüft, ob der Auftrag noch nicht ausgeführt wird. Wenn der Auftrag nicht ausgeführt wird, Receive-Job ruft die Ergebnisse ab und speichert sie in der $Results Variablen.
Beispiel 6: Pingen eines Remotecomputers mit Anmeldeinformationen
Dieser Befehl verwendet das Test-Connection Cmdlet zum Pingen eines Remotecomputers.
Test-Connection Server55 -Credential Domain55\User01 -Impersonation Identify
Der Befehl verwendet den Parameter "Credential", um ein Benutzerkonto anzugeben, das über die Berechtigung zum Pingen des Remotecomputers und den Parameter "Identitätswechsel" verfügt, um die Identitätswechselstufe in "Identifizieren" zu ändern.
Beispiel 7: 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 -ComputerName Server01 -Quiet) {New-PSSession Server01}
Der if Befehl verwendet das Test-Connection Cmdlet, um den Server01-Computer zu pingen. Der Befehl verwendet den Parameter Quiet, der anstelle eines Win32_PingStatus Objekts einen booleschen Wert zurückgibt. Der Wert ist, wenn einer der vier Pings erfolgreich ist $True und andernfalls $False.
Wenn der Befehl Test-Connection einen Wert von $truezurückgibt, verwendet der Befehl das Cmdlet New-PSSession, um die PSSessionzu erstellen.
Parameter
-AsJob
Gibt an, dass dieses Cmdlet als Hintergrundauftrag ausgeführt wird. Wenn Sie den AsJob--Parameter angeben, gibt der Befehl sofort ein Objekt zurück, das den Hintergrundauftrag darstellt. Sie können weiterhin in der Sitzung arbeiten, während der Auftrag abgeschlossen ist. Verwenden Sie das Cmdlet Receive-Job, um die Auftragsergebnisse abzurufen.
Weitere Informationen zu PowerShell-Hintergrundaufträgen finden Sie unter about_Jobs und about_Remote_Jobs.
Parametereigenschaften
| Typ: | SwitchParameter |
| Standardwert: | False |
| Unterstützt Platzhalter: | False |
| Nicht anzeigen: | False |
Parametersätze
Default
| Position: | Named |
| Obligatorisch.: | False |
| Wert aus Pipeline: | False |
| Wert aus Pipeline nach dem Eigenschaftsnamen: | False |
| Wert aus verbleibenden Argumenten: | False |
Source
| Position: | Named |
| Obligatorisch.: | False |
| Wert aus Pipeline: | False |
| Wert aus Pipeline nach dem Eigenschaftsnamen: | False |
| Wert aus verbleibenden Argumenten: | False |
-BufferSize
Gibt die Größe des mit diesem Befehl gesendeten Puffers in Bytes an. Der Standardwert ist 32.
Parametereigenschaften
| Typ: | Int32 |
| Standardwert: | 32 |
| Unterstützt Platzhalter: | False |
| Nicht anzeigen: | False |
| Aliase: | Größe, Byte-Einheiten, B.Sc. |
Parametersätze
(All)
| Position: | Named |
| Obligatorisch.: | False |
| Wert aus Pipeline: | False |
| Wert aus Pipeline nach dem Eigenschaftsnamen: | False |
| Wert aus verbleibenden Argumenten: | False |
-ComputerName
Gibt die zu pingenden Computer an. Geben Sie die Computernamen oder IP-Adressen im IPv4- oder IPv6-Format ein. Wildcardzeichen sind nicht zulässig. Dieser Parameter ist erforderlich.
Dieser Parameter beruht nicht auf PowerShell-Remoting. Sie können den parameter ComputerName verwenden, auch wenn Ihr Computer nicht für die Ausführung von Remotebefehlen konfiguriert ist.
Hinweis
Der Parameter "ComputerName " wird in PowerShell 6.0 und höher in "TargetName " umbenannt.
Parametereigenschaften
| Typ: | String[] |
| Standardwert: | None |
| Unterstützt Platzhalter: | False |
| Nicht anzeigen: | False |
| Aliase: | China, IP-Adresse, __SERVER, Server, Bestimmungsort |
Parametersätze
(All)
| Position: | 0 |
| Obligatorisch.: | True |
| Wert aus Pipeline: | False |
| Wert aus Pipeline nach dem Eigenschaftsnamen: | True |
| Wert aus verbleibenden Argumenten: | False |
-Count
Gibt die Anzahl der zu sendenden Echoanforderungen an. Der Standardwert ist 4.
Parametereigenschaften
| Typ: | Int32 |
| Standardwert: | 4 |
| Unterstützt Platzhalter: | False |
| Nicht anzeigen: | False |
Parametersätze
(All)
| Position: | Named |
| Obligatorisch.: | False |
| Wert aus Pipeline: | False |
| Wert aus Pipeline nach dem Eigenschaftsnamen: | False |
| Wert aus verbleibenden Argumenten: | False |
-Credential
Gibt ein Benutzerkonto an, das über die Berechtigung zum Senden einer Ping-Anforderung vom Quellcomputer verfügt. Geben Sie einen Benutzernamen ein, z. B. "User01" oder "Domain01\User01", oder geben Sie ein PSCredential--Objekt ein, z. B. eines aus dem Cmdlet Get-Credential.
Der Parameter "Credential " ist nur gültig, wenn der Source-Parameter im Befehl verwendet wird. Die Anmeldeinformationen wirken sich nicht auf den Zielcomputer aus.
Parametereigenschaften
| Typ: | PSCredential |
| Standardwert: | Current user |
| Unterstützt Platzhalter: | False |
| Nicht anzeigen: | False |
Parametersätze
Source
| Position: | Named |
| Obligatorisch.: | False |
| Wert aus Pipeline: | False |
| Wert aus Pipeline nach dem Eigenschaftsnamen: | False |
| Wert aus verbleibenden Argumenten: | False |
-DcomAuthentication
Gibt die Authentifizierungsebene an, die dieses Cmdlet mit WMI verwendet.
Test-Connection verwendet WMI.
Die zulässigen Werte für diesen Parameter sind:
- Standard. Windows-Authentifizierung
- None. Keine COM-Authentifizierung
- Verbinden. COM-Authentifizierung auf Verbindungsebene
- Anruf. COM-Authentifizierung auf Aufrufebene
- Paket. COM-Authentifizierung auf Paketebene
- PacketIntegrity. COM-Authentifizierung auf Paketintegritätsebene.
- PacketPrivacy. COM-Authentifizierung auf Paketdatenschutzebene
- Unverändert. Identisch mit dem vorherigen Befehl
Der Standardwert ist "Packet ", der einen Aufzählungswert von 4 aufweist. Weitere Informationen zu den Werten dieses Parameters finden Sie unter AuthenticationLevel-Aufzählung .
Parametereigenschaften
| Typ: | AuthenticationLevel |
| Standardwert: | Packet (enumerated value of 4) |
| Zulässige Werte: | Default, None, Connect, Call, Packet, PacketIntegrity, PacketPrivacy, Unchanged |
| Unterstützt Platzhalter: | False |
| Nicht anzeigen: | False |
| Aliase: | Authentifizierung |
Parametersätze
(All)
| Position: | Named |
| Obligatorisch.: | False |
| Wert aus Pipeline: | False |
| Wert aus Pipeline nach dem Eigenschaftsnamen: | False |
| Wert aus verbleibenden Argumenten: | False |
-Delay
Gibt das Intervall zwischen Pings in Sekunden an.
Parametereigenschaften
| Typ: | Int32 |
| Standardwert: | 1 (second) |
| Unterstützt Platzhalter: | False |
| Nicht anzeigen: | False |
Parametersätze
(All)
| Position: | Named |
| Obligatorisch.: | False |
| Wert aus Pipeline: | False |
| Wert aus Pipeline nach dem Eigenschaftsnamen: | False |
| Wert aus verbleibenden Argumenten: | False |
-Impersonation
Gibt die Identitätswechselebene an, die verwendet werden soll, wenn dieses Cmdlet WMI aufruft.
Test-Connection verwendet WMI.
Die zulässigen Werte für diesen Parameter sind wie folgt:
- Standard. Standardidentitätswechsel
- Anonym. Blendet die Identität des Aufrufers aus
- Identifizieren. Ermöglicht Es Objekten, die Anmeldeinformationen des Aufrufers abzufragen.
- Identitätswechsel. Ermöglicht es Objekten, die Anmeldeinformationen des Aufrufers zu verwenden.
Der Standardwert ist "Identitätswechsel".
Parametereigenschaften
| Typ: | ImpersonationLevel |
| Standardwert: | Impersonate |
| Zulässige Werte: | Default, Anonymous, Identify, Impersonate, Delegate |
| Unterstützt Platzhalter: | False |
| Nicht anzeigen: | False |
Parametersätze
(All)
| Position: | Named |
| Obligatorisch.: | False |
| Wert aus Pipeline: | False |
| Wert aus Pipeline nach dem Eigenschaftsnamen: | False |
| Wert aus verbleibenden Argumenten: | False |
-Protocol
Gibt ein Protokoll an. Die zulässigen Werte für diesen Parameter sind DCOM und WSMan.
Parametereigenschaften
| Typ: | String |
| Standardwert: | None |
| Zulässige Werte: | DCOM, WSMan |
| Unterstützt Platzhalter: | False |
| Nicht anzeigen: | False |
Parametersätze
(All)
| Position: | Named |
| Obligatorisch.: | False |
| Wert aus Pipeline: | False |
| Wert aus Pipeline nach dem Eigenschaftsnamen: | False |
| Wert aus verbleibenden Argumenten: | False |
-Quiet
Der Parameter Quiet gibt einen booleschen Wert in einem System.Boolean -Objekt zurück. Wenn Sie diesen Parameter verwenden, werden alle Fehler unterdrückt.
Jede getestete Verbindung gibt einen booleschen Wert zurück. Wenn der Parameter ComputerName mehrere Computer angibt, wird ein Array boolescherWerte zurückgegeben.
Wenn ein Ping erfolgreich ist, $True wird dieser Wert zurückgegeben.
Wenn alle Pings fehlschlagen, $False wird sie zurückgegeben.
Parametereigenschaften
| Typ: | SwitchParameter |
| Standardwert: | False |
| Unterstützt Platzhalter: | False |
| Nicht anzeigen: | False |
Parametersätze
Quiet
| Position: | Named |
| Obligatorisch.: | False |
| Wert aus Pipeline: | False |
| Wert aus Pipeline nach dem Eigenschaftsnamen: | False |
| Wert aus verbleibenden Argumenten: | False |
-Source
Gibt die Namen der Computer an, von denen der Ping ausgeht. Geben Sie eine durch Trennzeichen getrennte Liste von Computernamen ein. Der Standardwert ist der lokale Computer.
Parametereigenschaften
| Typ: | String[] |
| Standardwert: | Local computer |
| Unterstützt Platzhalter: | False |
| Nicht anzeigen: | False |
| Aliase: | FCN, SRC |
Parametersätze
Source
| Position: | 1 |
| Obligatorisch.: | True |
| Wert aus Pipeline: | False |
| Wert aus Pipeline nach dem Eigenschaftsnamen: | False |
| Wert aus verbleibenden Argumenten: | False |
-ThrottleLimit
Gibt die maximale Anzahl gleichzeitiger Verbindungen an, die zum Ausführen dieses Befehls eingerichtet werden können. Wenn Sie diesen Parameter weglassen oder einen Wert von 0 eingeben, wird der Standardwert 32 verwendet.
Der Drosselungsgrenzwert gilt nur für den aktuellen Befehl, nicht für die Sitzung oder den Computer.
Parametereigenschaften
| Typ: | Int32 |
| Standardwert: | 32 |
| Unterstützt Platzhalter: | False |
| Nicht anzeigen: | False |
Parametersätze
Default
| Position: | Named |
| Obligatorisch.: | False |
| Wert aus Pipeline: | False |
| Wert aus Pipeline nach dem Eigenschaftsnamen: | False |
| Wert aus verbleibenden Argumenten: | False |
Source
| Position: | Named |
| Obligatorisch.: | False |
| Wert aus Pipeline: | False |
| Wert aus Pipeline nach dem Eigenschaftsnamen: | False |
| Wert aus verbleibenden Argumenten: | False |
-TimeToLive
Gibt die maximale Anzahl von Paketen an, die weitergeleitet werden können. Bei jedem Hop in Gateways, Routern usw. wird der TimeToLive-Wert um einen reduziert. Bei Null wird das Paket verworfen und ein Fehler zurückgegeben. In Windows ist der Standardwert 128. Der Alias des TimeToLive-Parameters ist TTL.
Parametereigenschaften
| Typ: | Int32 |
| Standardwert: | 128 in Windows |
| Unterstützt Platzhalter: | False |
| Nicht anzeigen: | False |
| Aliase: | TTL |
Parametersätze
(All)
| Position: | Named |
| Obligatorisch.: | False |
| Wert aus Pipeline: | False |
| Wert aus Pipeline nach dem Eigenschaftsnamen: | False |
| Wert aus verbleibenden Argumenten: | False |
-WsmanAuthentication
Gibt den Mechanismus an, der zum Authentifizieren der Benutzeranmeldeinformationen verwendet wird, wenn dieses Cmdlet das WSMan-Protokoll verwendet. Die zulässigen Werte für diesen Parameter sind:
- Basic
- CredSSP
- Standard
- Zusammenfassung
- Kerberos
- Verhandeln.
Der Standardwert ist "Default".
Weitere Informationen zu den Werten dieses Parameters finden Sie unter AuthenticationMechanism Enumeration in MSDN.
Achtung: Die Authentifizierung des Credential Security Service Provider (CredSSP), bei der die Benutzeranmeldeinformationen an einen Remotecomputer übergeben werden, der authentifiziert werden soll, ist für Befehle konzipiert, die eine Authentifizierung für mehrere Ressourcen erfordern, z. B. den Zugriff auf eine Remotenetzwerkfreigabe. Dieser Mechanismus erhöht das Sicherheitsrisiko des Remotevorgangs. Wenn der Remotecomputer kompromittiert ist, können die an ihn übergebenen Anmeldeinformationen zum Steuern der Netzwerksitzung verwendet werden.
Dieser Parameter wurde in Windows PowerShell 3.0 eingeführt.
Parametereigenschaften
| Typ: | String |
| Standardwert: | Default |
| Zulässige Werte: | Default, Basic, Negotiate, CredSSP, Digest, Kerberos |
| Unterstützt Platzhalter: | False |
| Nicht anzeigen: | False |
Parametersätze
(All)
| Position: | Named |
| Obligatorisch.: | False |
| Wert aus Pipeline: | False |
| Wert aus Pipeline nach dem Eigenschaftsnamen: | False |
| Wert aus verbleibenden Argumenten: | False |
CommonParameters
Dieses Cmdlet unterstützt die allgemeinen Parameter -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction und -WarningVariable. Weitere Informationen findest du unter about_CommonParameters.
Eingaben
None
Sie können keine Objekte an dieses Cmdlet weiterleiten.
Ausgaben
ManagementObject
Standardmäßig gibt dieses Cmdlet ein Win32_PingStatus Objekt für jede Pingantwort zurück.
System.Management.Automation.RemotingJob
Dieses Cmdlet gibt ein Auftragsobjekt zurück, wenn Sie den parameter AsJob angeben.
Boolean
Wenn Sie den Parameter Quiet verwenden, gibt dies einen booleschen Wert zurück. Wenn das cmdlet mehrere Verbindungen testet, wird ein Array mit Booleschen Werten zurückgegeben.
Hinweise
Dieses Cmdlet verwendet die Win32_PingStatus Klasse. Ein Get-WMIObject Win32_PingStatus Befehl entspricht einem Test-Connection Befehl.
Der Source-Parametersatz wurde in PowerShell 3.0 eingeführt.