Sendet ICMP-Echoanforderungspakete ("Pings") an einen oder mehrere Computer.

Syntax

Test-Connection [-ComputerName] <string[]> [[-Source] <string[]>] [-AsJob] [-Authentication {<Default> | <None> | <Connect> | <Call> | <Packet> | <PacketIntegrity> | <PacketPrivacy> | <Unchanged>}] [-BufferSize <int>] [-Count <int>] [-Credential <PSCredential>] [-Delay <int>] [-Impersonation {<Default> | <Anonymous> | <Identify> | <Impersonate> | <Delegate>}] [-Quiet] [-ThrottleLimit <int>] [-TimeToLive <int>] [<CommonParameters>]

Beschreibung

Das Cmdlet "Test-Connection" sendet Internet Control Message Protocol (ICMP)-Echoanforderungspakete ("Pings") an einen oder mehrere Remotecomputer und gibt die Echoantworten zurück. Sie können mit diesem Cmdlet bestimmen, ob ein bestimmter Computer über ein IP-Netzwerk erreicht werden kann.

Mit den Parametern von Test-Connection können Sie den sendenden und den empfangenden Computer angeben, den Befehl als Hintergrundauftrag ausführen, ein Timeout und eine Anzahl von Pings festlegen sowie die Verbindung und die Authentifizierung konfigurieren.

Im Gegensatz zum herkömmlichen Ping-Befehl gibt Test-Connection ein Win32_PingStatus-Objekt zurück, das Sie in Windows PowerShell überprüfen können. Mit dem Quiet-Parameter können Sie jedoch erzwingen, dass ausschließlich ein boolescher Wert zurückgegeben wird.

Parameter

-AsJob

Führt den Befehl als Hintergrundauftrag aus.

Hinweis: Um diesen Parameter zu verwenden, müssen die lokalen Computer und Remotecomputer für Remoting konfiguriert sein, und Sie müssen Windows PowerShell unter Windows Vista und höheren Versionen von Windows mit der Option "Als Administrator ausführen" öffnen. Weitere Informationen finden Sie unter "about_Remote_Requirements".

Wenn Sie den AsJob-Parameter verwenden, 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. Um die Auftragsergebnisse abzurufen, verwenden Sie das Cmdlet "Receive-Job".

Weitere Informationen über Windows PowerShell-Hintergrundaufträge finden Sie unter "about_Jobs" und "about_Remote_Jobs".

Erforderlich?

false

Position?

named

Standardwert

False

Pipelineeingaben akzeptieren?

false

Platzhalterzeichen akzeptieren?

false

-Authentication <AuthenticationLevel>

Gibt die Authentifizierungsebene an, die für die WMI-Verbindung verwendet wird. (Test-Connection verwendet WMI.)

Gültige Werte:

Unchanged: Die Authentifizierungsebene entspricht dem vorherigen Befehl.

Default: Windows-Authentifizierung.

None: Keine COM-Authentifizierung.

Connect: COM-Authentifizierung auf Verbindungsebene.

Call: COM-Authentifizierung auf Aufrufebene.

Packet: COM-Authentifizierung auf Paketebene.

PacketIntegrity: COM-Authentifizierung auf Paketintegritätsebene.

PacketPrivacy: COM-Authentifizierung auf Paketsicherheitsebene.

Erforderlich?

false

Position?

named

Standardwert

4

Pipelineeingaben akzeptieren?

false

Platzhalterzeichen akzeptieren?

false

-BufferSize <int>

Gibt die Größe des mit diesem Befehl gesendeten Puffers in Bytes an. Der Standardwert lautet 32.

Erforderlich?

false

Position?

named

Standardwert

32

Pipelineeingaben akzeptieren?

false

Platzhalterzeichen akzeptieren?

false

-ComputerName <string[]>

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 Windows PowerShell-Remoting. Sie können den ComputerName-Parameter auch dann verwenden, wenn der Computer nicht für das Ausführen von Remotebefehlen konfiguriert ist.

Erforderlich?

true

Position?

1

Standardwert

Pipelineeingaben akzeptieren?

true (ByPropertyName)

Platzhalterzeichen akzeptieren?

false

-Count <int>

Gibt die Anzahl der zu sendenden Echoanforderungen an. Der Standardwert lautet 4.

Erforderlich?

false

Position?

named

Standardwert

4

Pipelineeingaben akzeptieren?

false

Platzhalterzeichen akzeptieren?

false

-Credential <PSCredential>

Gibt ein Benutzerkonto an, das über die Berechtigung zum Ausführen dieser Aktion verfügt. Geben Sie einen Benutzernamen ein, z. B. "User01" oder "Domain01\User01", oder geben Sie ein PSCredential-Objekt ein, z. B. ein Objekt aus dem Cmdlet "Get-Credential".

Erforderlich?

false

Position?

named

Standardwert

Current user

Pipelineeingaben akzeptieren?

false

Platzhalterzeichen akzeptieren?

false

-Delay <int>

Gibt das Intervall zwischen Pings in Sekunden an.

Erforderlich?

false

Position?

named

Standardwert

1 (second)

Pipelineeingaben akzeptieren?

false

Platzhalterzeichen akzeptieren?

false

-Impersonation <ImpersonationLevel>

Gibt die Identitätswechselebene an, die beim Aufrufen von WMI verwendet werden soll. (Test-Connection verwendet WMI.) Der Standardwert ist "Impersonate".

Gültige Werte:

Default: Standardidentitätswechsel.

Anonymous: Blendet die Identität des Aufrufers aus.

Identify: Ermöglicht es Objekten, die Anmeldeinformationen des Aufrufers abzufragen.

Impersonate: Ermöglicht es Objekten, die Anmeldeinformationen des Aufrufers zu verwenden.

Erforderlich?

false

Position?

named

Standardwert

3

Pipelineeingaben akzeptieren?

false

Platzhalterzeichen akzeptieren?

false

-Quiet

Unterdrückt alle Fehler und gibt "$True" zurück, wenn einer der Ping-Befehle erfolgreich war, und "$False" wenn kein Befehl erfolgreich war.

Erforderlich?

false

Position?

named

Standardwert

False

Pipelineeingaben akzeptieren?

false

Platzhalterzeichen akzeptieren?

false

-Source <string[]>

Gibt die Namen der Computer an, von denen der Ping stammt. Geben Sie eine durch Trennzeichen getrennte Liste von Computernamen ein. Der Standardwert ist der lokale Computer.

Erforderlich?

false

Position?

2

Standardwert

Local computer

Pipelineeingaben akzeptieren?

false

Platzhalterzeichen akzeptieren?

false

-ThrottleLimit <int>

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 0 eingeben, wird der Standardwert 32 verwendet.

Die Drosselungsgrenze gilt nur für den aktuellen Befehl und nicht für die Sitzung oder den Computer.

Erforderlich?

false

Position?

named

Standardwert

32

Pipelineeingaben akzeptieren?

false

Platzhalterzeichen akzeptieren?

false

-TimeToLive <int>

Gibt die maximale Zeit in Sekunden an, die jedes Echoanforderungspaket ("Pings") aktiv ist. Der Standardwert beträgt 80 (Sekunden). Der Alias des TimeToLive-Parameters ist "TTL".

Erforderlich?

false

Position?

named

Standardwert

80

Pipelineeingaben akzeptieren?

false

Platzhalterzeichen akzeptieren?

false

<CommonParameters>

Dieses Cmdlet unterstützt die folgenden allgemeinen Parameter: -Verbose, -Debug, -ErrorAction, -ErrorVariable, -OutBuffer und -OutVariable. Weitere Informationen finden Sie unter about_Commonparameters.

Eingaben und Ausgaben

Der Eingabetyp ist der Typ der Objekte, die über die Pipeline an das Cmdlet übergeben werden können. Der Rückgabetyp ist der Typ der Objekte, die das Cmdlet zurückgibt.

Eingaben

None

Eingaben können nicht über die Pipeline an dieses Cmdlet übergeben werden.

Ausgaben

System.Management.ManagementObject#root\cimv2\Win32_PingStatus, System.Management.Automation.RemotingJob, System.Boolean

Wenn Sie den AsJob-Parameter verwenden, wird vom Cmdlet ein Auftragsobjekt zurückgegeben. Bei Verwendung des Quiet-Parameters wird ein boolescher Wert zurückgegeben. Andernfalls gibt dieses Cmdlet ein Win32_PingStatus-Objekt für jede Ping-Ausführung zurück.

Hinweise

Dieses Cmdlet verwendet die Win32_PingStatus-Klasse. Der Befehl "get-wmiojbect win32_pingstatus" entspricht dem Befehl "Test-Connection".

Beispiel 1

C:\PS>test-connection server01

Source        Destination     IPV4Address     IPV6Address  Bytes    Time(ms)
------        -----------     -----------     -----------  -----    --------
ADMIN1        Server01        157.59.137.44                32       0
ADMIN1        Server01        157.59.137.44                32       0
ADMIN1        Server01        157.59.137.44                32       0
ADMIN1        Server01        157.59.137.44                32       1

Beschreibung
-----------
Dieser Befehl sendet Echoanforderungspakete ("Pings") vom lokalen Computer an den Computer "Server01". Dieser Befehl gibt mit dem ComputerName-Parameter den Computer "Server01" an, der optionale Parametername wird jedoch weggelassen.






Beispiel 2

C:\PS>test-connection -computername server01, server02, server12 -credential domain01\user01

Beschreibung
-----------
Dieser Befehl sendet Pings vom lokalen Computer an mehrere Remotecomputer. Mit dem Credential-Parameter wird ein Benutzerkonto angegeben, das über die Berechtigung zum Pingen aller Remotecomputer verfügt.






Beispiel 3

C:\PS>test-connection -source Server02, Server 12, localhost -computername Server01

Beschreibung
-----------
Mit diesem Befehl werden Pings von unterschiedlichen Quellcomputern an einen einzelnen Remotecomputer (Server01) gesendet. Verwenden Sie diesen Befehl, um die Wartezeit von Verbindungen von mehreren Punkten aus zu überprüfen.






Beispiel 4

C:\PS>test-connection -computername Server01 -count 3 -delay 2 -TTL 256 -buffersize 256 -throttle 32

Beschreibung
-----------
Dieser Befehl sendet drei Pings vom lokalen Computer an den Computer "Server01". Der Befehl wird mit den Parametern von Test-Connection angepasst.

Verwenden Sie dieses Befehlsformat, wenn Sie erwarten, dass die Pingantwort aufgrund von vielen Hops oder einer Netzwerkverbindung mit viel Datenverkehr ungewöhnlich lange dauert.






Beispiel 5

C:\PS>$job = test-connection -computername (get-content servers.txt) -asjob

C:\PS> if ($job.jobstateinfo.state -ne "Running") {$results = receive-job $job}

Beschreibung
-----------
In diesem Beispiel wird das Ausführen des Befehls "Test-Connection" als Windows PowerShell-Hintergrundauftrag veranschaulicht. 

Mit dem ersten Befehl werden mithilfe des Cmdlets "Test-Connection" eine Vielzahl von Computern in einem Unternehmen gepingt. Bei dem Wert des ComputerName-Parameters handelt es sich um den Befehl "Get-Content", der eine Liste von Computernamen aus der Datei "Servers.txt" liest. Bei dem Befehl wird der Befehl mithilfe des AsJob-Parameters als Hintergrundauftrag ausgeführt.

Mit dem zweiten Befehl wird überprüft, ob der Auftrag nicht weiterhin ausgeführt wird. Wenn dies nicht der Fall ist, werden mit dem Befehl "Receive-Job" die Ergebnisse abgerufen und in der Variablen "$results" gespeichert.






Beispiel 6

C:\PS>test-connection Server55 -credential domain55\user01 -impersonation Identify

Beschreibung
-----------
Bei diesem Befehl wird ein Remotecomputer mit dem Cmdlet "Test-Connection" gepingt. Der Befehl gibt mithilfe des Credential-Parameters ein Benutzerkonto mit der Berechtigung zum Pingen des Remotecomputers an. Mit dem Impersonation-Parameter wird die Identitätswechselebene in "Identify" geändert.






Beispiel 7

C:\PS>if (test-connection -computername Server01 -quiet) {new-pssession Server01}

Beschreibung
-----------
Mit diesem Befehl wird nur dann eine PSSession auf "Server01" erstellt, wenn mindestens eines der an den Computer gesendeten Pings erfolgreich war.

Der Befehl verwendet das Cmdlet "Test-Connection", um den Computer "Server01" zu pingen. Der Befehl verwendet den Quiet-Parameter, der einen booleschen Wert zurückgibt, anstelle eines Win32_PingStatus-Objekts. Der Wert ist "$True", wenn einer der vier Ping-Befehle erfolgreich war, und andernfalls "false".

Wenn der Befehl "Test-Connection" den Wert "$True" zurückgibt, verwendet der Befehl das Cmdlet "New-PSSession", um PSSession zu erstellen.






Siehe auch




Inhaltsverzeichnis