Test-Connection
Sendet ICMP-Echoanforderungspakete oder Pings an einen oder mehrere Computer.
Syntax
Default (Standard)
Test-Connection
[-ComputerName] <String[]>
[-AsJob]
[-Authentication <AuthenticationLevel>]
[-BufferSize <Int32>]
[-Count <Int32>]
[-Impersonation <ImpersonationLevel>]
[-ThrottleLimit <Int32>]
[-TimeToLive <Int32>]
[-Delay <Int32>]
[<CommonParameters>]
Source
Test-Connection
[-ComputerName] <String[]>
[-Source] <String[]>
[-AsJob]
[-Authentication <AuthenticationLevel>]
[-BufferSize <Int32>]
[-Count <Int32>]
[-Credential <PSCredential>]
[-Impersonation <ImpersonationLevel>]
[-ThrottleLimit <Int32>]
[-TimeToLive <Int32>]
[-Delay <Int32>]
[<CommonParameters>]
Quiet
Test-Connection
[-ComputerName] <String[]>
[-Authentication <AuthenticationLevel>]
[-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 TargetName, 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.
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 weiterhin in der Sitzung arbeiten, während der Auftrag abgeschlossen ist. Der Auftrag wird auf dem lokalen Computer erstellt, und die Ergebnisse von Remotecomputern werden automatisch an den lokalen Computer zurückgegeben. 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 |
-Authentication
Gibt die Authentifizierungsebene an, die für die WMI-Verbindung verwendet wird.
Test-Connection verwendet WMI.
Die folgenden Werte sind gültig:
- Unverändert: Die Authentifizierungsebene ist identisch mit dem vorherigen Befehl.
- Standard-: Windows-Authentifizierung.
- Keine: Keine COM-Authentifizierung.
- Connect: COM-Authentifizierung auf Verbindungsebene.
- Anruf: COM-Authentifizierung auf Anrufebene.
- Paket-: COM-Authentifizierung auf Paketebene.
- PacketIntegrity-: COM-Authentifizierung auf Paketintegritätsebene.
- PacketPrivacy: COM-Authentifizierung auf Paketdatenschutzebene.
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 |
Parametersätze
(All)
| 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. Platzhalterzeichen 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.
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 |
-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 |
-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 |
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 Eingabe an dieses Cmdlet weiterleiten.
Ausgaben
ManagementObject
Dieses Cmdlet gibt ein Auftragsobjekt zurück, wenn Sie den parameter AsJob angeben.
Wenn Sie den Parameter Quiet angeben, gibt er einen booleschen Wert zurück. Wenn mehrere Verbindungen getestet werden, wird ein Array von Boolean-Werten zurückgegeben. Andernfalls wird für jeden Ping Test-Connection ein Win32_PingStatus-Objekt 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.