Test-Connection
Sendet ICMP-Echoanforderungspakete oder Pings an einen oder mehrere Computer.
Syntax
Test-Connection
[-AsJob]
[-DcomAuthentication <AuthenticationLevel>]
[-WsmanAuthentication <String>]
[-Protocol <String>]
[-BufferSize <Int32>]
[-ComputerName] <String[]>
[-Count <Int32>]
[-Impersonation <ImpersonationLevel>]
[-ThrottleLimit <Int32>]
[-TimeToLive <Int32>]
[-Delay <Int32>]
[<CommonParameters>]
Test-Connection
[-AsJob]
[-DcomAuthentication <AuthenticationLevel>]
[-WsmanAuthentication <String>]
[-Protocol <String>]
[-BufferSize <Int32>]
[-ComputerName] <String[]>
[-Count <Int32>]
[-Credential <PSCredential>]
[-Source] <String[]>
[-Impersonation <ImpersonationLevel>]
[-ThrottleLimit <Int32>]
[-TimeToLive <Int32>]
[-Delay <Int32>]
[<CommonParameters>]
Test-Connection
[-DcomAuthentication <AuthenticationLevel>]
[-WsmanAuthentication <String>]
[-Protocol <String>]
[-BufferSize <Int32>]
[-ComputerName] <String[]>
[-Count <Int32>]
[-Impersonation <ImpersonationLevel>]
[-TimeToLive <Int32>]
[-Delay <Int32>]
[-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.
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 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 -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 zum Anpassen des Test-Connection
Befehls verwendet. 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 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 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 Test-Connection
Befehl einen Wert zurückgibt $True
, verwendet der Befehl das New-PSSession
Cmdlet zum Erstellen der PSSession.
Parameter
-AsJob
Gibt an, dass dieses Cmdlet als Hintergrundauftrag ausgeführt wird.
Um diesen Parameter zu verwenden, müssen die lokalen und Remotecomputer für Remoting konfiguriert sein, und unter Windows Vista und höheren Versionen des Windows-Betriebssystems müssen Sie PowerShell mithilfe der Option "Als Administrator ausführen" öffnen. Weitere Informationen finden Sie unter about_Remote_Requirements.
Wenn Sie den AsJob-Parameter angeben, gibt der Befehl sofort ein Objekt zurück, das den Hintergrundauftrag darstellt. Sie können die Sitzung weiterhin verwenden, während der Auftrag abgeschlossen wird. Der Auftrag wird auf dem lokalen Computer erstellt, und die Ergebnisse von Remotecomputern werden automatisch an den lokalen Computer zurückgegeben. Verwenden Sie das Receive-Job
Cmdlet, um die Auftragsergebnisse abzurufen.
Weitere Informationen zu PowerShell-Hintergrundaufträgen finden Sie unter about_Jobs und about_Remote_Jobs.
Type: | SwitchParameter |
Position: | Named |
Default value: | False |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-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 |
-ComputerName
Gibt die zu pingenden Computer an. Geben Sie die Computernamen oder IP-Adressen im IPv4- oder IPv6-Format ein. Platzhalterzeichen sind nicht zulässig. Dieser Parameter ist erforderlich.
Dieser Parameter basiert nicht auf PowerShell-Remoting. Sie können den Parameter ComputerName auch dann verwenden, 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.
Type: | String[] |
Aliases: | CN, IPAddress, __SERVER, Server, Destination |
Position: | 0 |
Default value: | None |
Required: | True |
Accept pipeline input: | True |
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 |
-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 "Do Standard 01\User01", oder geben Sie ein PSCredential-Objekt ein, z. B. eines aus dem Get-Credential
Cmdlet.
Der Parameter "Credential " ist nur gültig, wenn der Source-Parameter im Befehl verwendet wird. Die Anmeldeinformationen wirken sich nicht auf den Zielcomputer aus.
Type: | PSCredential |
Position: | Named |
Default value: | Current user |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-DcomAuthentication
Gibt die Authentifizierungsebene an, die dieses Cmdlet mit WMI verwendet.
Test-Connection
verwendet WMI.
Zulässige Werte für diesen Parameter:
- Default. Windows-Authentifizierung
- Keine. 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 .
Type: | AuthenticationLevel |
Aliases: | Authentication |
Accepted values: | Default, None, Connect, Call, Packet, PacketIntegrity, PacketPrivacy, Unchanged |
Position: | Named |
Default value: | Packet (enumerated value of 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: | 1 (second) |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | 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:
- Default. 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".
Type: | ImpersonationLevel |
Accepted values: | Default, Anonymous, Identify, Impersonate, Delegate |
Position: | Named |
Default value: | Impersonate |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Protocol
Gibt ein Protokoll an. Die zulässigen Werte für diesen Parameter sind DCOM und WSMan.
Type: | String |
Accepted values: | DCOM, WSMan |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | 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.
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.
Type: | String[] |
Aliases: | FCN, SRC |
Position: | 1 |
Default value: | Local computer |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-ThrottleLimit
Gibt die maximale Anzahl von gleichzeitigen Verbindungen an, die zum Ausführen dieses Befehls hergestellt werden können. Wenn Sie diesen Parameter weglassen oder den Wert %%amp;quot;0%%amp;quot; eingeben, wird der Standardwert %%amp;quot;32%%amp;quot; verwendet.
Die Drosselungsgrenze gilt nur für den aktuellen Befehl und nicht für die Sitzung oder den Computer.
Type: | Int32 |
Position: | Named |
Default value: | 32 |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | 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 nicht Karte und ein Fehler zurückgegeben. In Windows ist der Standardwert 128. Der Alias des TimeToLive-Parameters ist TTL.
Type: | Int32 |
Aliases: | TTL |
Position: | Named |
Default value: | 128 in Windows |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-WsmanAuthentication
Gibt den Mechanismus an, der zum Authentifizieren der Benutzeranmeldeinformationen verwendet wird, wenn dieses Cmdlet das WSMan-Protokoll verwendet. Zulässige Werte für diesen Parameter:
- Grundlegend
- CredSSP
- Standard
- Digest
- Kerberos
- Verhandeln.
Der Standardwert lautet Default.
Weitere Informationen zu den Werten dieses Parameters finden Sie unter AuthenticationMechanism Enumeration.
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 die Sicherheit des Remotecomputers gefährdet ist, können die an ihn übergebenen Anmeldeinformationen zum Steuern der Netzwerksitzung verwendet werden.
Dieser Parameter wurde in Windows PowerShell 3.0 eingeführt.
Type: | String |
Accepted values: | Default, Basic, Negotiate, CredSSP, Digest, Kerberos |
Position: | Named |
Default value: | Default |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
Eingaben
None
Sie können keine Objekte an dieses Cmdlet weiterleiten.
Ausgaben
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 AsJob-Parameter angeben.
Wenn Sie den Parameter Quiet verwenden, gibt dies einen booleschen Wert zurück. Wenn das Cmdlet mehrere Verbindungen testet, wird ein Array boolescher Werte 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.
Ähnliche Themen
Feedback
https://aka.ms/ContentUserFeedback.
Bald verfügbar: Im Laufe des Jahres 2024 werden wir GitHub-Issues stufenweise als Feedbackmechanismus für Inhalte abbauen und durch ein neues Feedbacksystem ersetzen. Weitere Informationen finden Sie unterFeedback senden und anzeigen für