Envoie les paquets de demande d'écho ICMP (« pings ») à un ou plusieurs ordinateurs.

Syntaxe

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>]

Description

L'applet de commande Test-Connection envoie les paquets de demande d'écho ICMP (Internet Control Message Protocol) (« pings ») à un ou plusieurs ordinateurs distants et retourne les résultats de la réponse de l'écho. Vous pouvez utiliser cette applet de commande pour déterminer si un ordinateur particulier peut être contacté via un réseau IP (Internet Protocol).

Vous pouvez utiliser les paramètres de Test-Connection pour spécifier les ordinateurs récepteurs et émetteurs, exécuter la commande en tant que tâche en arrière-plan, définir un délai d'attente et un nombre de pings et configurer la connexion et l'authentification.

Contrairement à la commande « ping » traditionnelle, Test-Connection retourne un objet Win32_PingStatus que vous pouvez examiner dans Windows PowerShell, mais vous pouvez utiliser le paramètre Quiet pour le forcer à retourner uniquement une valeur booléenne.

Paramètres

-AsJob

Exécute la commande en tant que tâche en arrière-plan.

Remarque : pour utiliser ce paramètre, les ordinateurs locaux et distants doivent être configurés pour la communication à distance et, sous Windows Vista et les versions ultérieures de Windows, vous devez ouvrir Windows PowerShell avec l'option Exécuter en tant qu'administrateur. Pour plus d'informations, consultez about_Remote_Requirements.

Lorsque vous utilisez le paramètre AsJob, la commande retourne immédiatement un objet qui représente la tâche en arrière-plan. Vous pouvez continuer à travailler dans la session pendant l'exécution de la tâche. La tâche est créée sur l'ordinateur local et les résultats provenant d'ordinateurs distants sont automatiquement retournés à l'ordinateur local. Pour obtenir les résultats de la tâche, utilisez l'applet de commande Receive-Job.

Pour plus d'informations sur les tâches en arrière-plan Windows PowerShell, consultez about_Jobs et about_Remote_Jobs.

Obligatoire ?

false

Position ?

named

Valeur par défaut

False

Accepter l'entrée de pipeline ?

false

Accepter les caractères génériques ?

false

-Authentication <AuthenticationLevel>

Spécifie le niveau d'authentification utilisé pour la connexion WMI (Test-Connection utilise WMI).

Les valeurs valides sont :

Unchanged : le niveau d'authentification est le même que pour la commande précédente.

Default : authentification Windows.

None : aucune authentification COM.

Connect : authentification COM au niveau de la connexion.

Call : authentification COM au niveau de l'appel.

Packet : authentification COM au niveau du paquet

PacketIntegrity : authentification COM au niveau de l'intégrité du paquet.

PacketPrivacy : authentification COM au niveau de la confidentialité du paquet

Obligatoire ?

false

Position ?

named

Valeur par défaut

4

Accepter l'entrée de pipeline ?

false

Accepter les caractères génériques ?

false

-BufferSize <int>

Spécifie la taille (en octets) de la mémoire tampon envoyée avec cette commande. La valeur par défaut est 32.

Obligatoire ?

false

Position ?

named

Valeur par défaut

32

Accepter l'entrée de pipeline ?

false

Accepter les caractères génériques ?

false

-ComputerName <string[]>

Spécifie les ordinateurs sur lesquels effectuer un test ping. Tapez le nom des ordinateurs ou les adresse IP au format IPv4 ou IPv6. Les caractères génériques ne sont pas autorisés. Ce paramètre est obligatoire.

Ce paramètre ne s'appuie pas sur la communication à distance Windows PowerShell. Vous pouvez utiliser le paramètre ComputerName même si votre ordinateur n'est pas configuré pour exécuter des commandes distantes.

Obligatoire ?

true

Position ?

1

Valeur par défaut

Accepter l'entrée de pipeline ?

true (ByPropertyName)

Accepter les caractères génériques ?

false

-Count <int>

Spécifie le nombre de demandes d'écho à envoyer. La valeur par défaut est 4.

Obligatoire ?

false

Position ?

named

Valeur par défaut

4

Accepter l'entrée de pipeline ?

false

Accepter les caractères génériques ?

false

-Credential <PSCredential>

Spécifie un compte d'utilisateur qui a l'autorisation d'exécuter cette action. Tapez un nom d'utilisateur, tel que « User01 » ou « Domain01\User01 », ou entrez un objet PSCredential, tel que celui généré par l'applet de commande Get-Credential.

Obligatoire ?

false

Position ?

named

Valeur par défaut

Current user

Accepter l'entrée de pipeline ?

false

Accepter les caractères génériques ?

false

-Delay <int>

Spécifie l'intervalle entre les pings (en secondes).

Obligatoire ?

false

Position ?

named

Valeur par défaut

1 (second)

Accepter l'entrée de pipeline ?

false

Accepter les caractères génériques ?

false

-Impersonation <ImpersonationLevel>

Spécifie le niveau d'emprunt d'identité à utiliser lors de l'appel de WMI (Test-Connection utilise WMI). La valeur par défaut est « Impersonate ».

Les valeurs valides sont :

Default : emprunt d'identité par défaut

Anonymous : masque l'identité de l'appelant.

Identify : permet aux objets d'interroger les informations d'identification de l'appelant.

Impersonate : permet aux objets d'utiliser les informations d'identification de l'appelant.

Obligatoire ?

false

Position ?

named

Valeur par défaut

3

Accepter l'entrée de pipeline ?

false

Accepter les caractères génériques ?

false

-Quiet

Supprime toutes les erreurs et retourne $True si tous les pings ont réussi et $False s'ils ont tous échoué.

Obligatoire ?

false

Position ?

named

Valeur par défaut

False

Accepter l'entrée de pipeline ?

false

Accepter les caractères génériques ?

false

-Source <string[]>

Spécifie le nom des ordinateurs d'où le ping provient. Entrez une liste de noms d'ordinateurs séparés par des virgules. La valeur par défaut est l'ordinateur local.

Obligatoire ?

false

Position ?

2

Valeur par défaut

Local computer

Accepter l'entrée de pipeline ?

false

Accepter les caractères génériques ?

false

-ThrottleLimit <int>

Spécifie le nombre maximal de connexions simultanées qui peuvent être établies pour exécuter cette commande. Si vous omettez ce paramètre ou entrez la valeur 0, la valeur par défaut 32 est utilisée.

La limite d'accélération s'applique uniquement à la commande actuelle, et non à la session ou à l'ordinateur.

Obligatoire ?

false

Position ?

named

Valeur par défaut

32

Accepter l'entrée de pipeline ?

false

Accepter les caractères génériques ?

false

-TimeToLive <int>

Spécifie la durée maximale d'activité (en secondes) de chaque paquet de demande d'écho (« pings »). La valeur par défaut est 80 (secondes). L'alias du paramètre TimeToLive est TTL.

Obligatoire ?

false

Position ?

named

Valeur par défaut

80

Accepter l'entrée de pipeline ?

false

Accepter les caractères génériques ?

false

<CommonParameters>

Cette applet de commande prend en charge les paramètres courants : -Verbose, -Debug, -ErrorAction, -ErrorVariable, -OutBuffer et -OutVariable. Pour plus d'informations, consultez about_Commonparameters.

Entrées et sorties

Le type d'entrée est le type des objets que vous pouvez diriger vers l'applet de commande. Le type de retour est le type des objets que l'applet de commande retourne.

Entrées

None

Vous ne pouvez pas diriger d'entrée vers cette applet de commande.

Sorties

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

Lorsque vous utilisez le paramètre AsJob, l'applet de commande retourne un objet de traitement. Lorsque vous utilisez le paramètre Quiet, il retourne une valeur booléenne. Sinon, cette applet de commande retourne un objet Win32_PingStatus pour chaque ping.

Remarques

Cette applet de commande utilise la classe Win32_PingStatus. Une commande « get-wmiojbect win32_pingstatus » est équivalente à une commande Test-Connection.

Exemple 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

Description
-----------
Cette commande envoie les paquets de demande d'écho (« pings ») de l'ordinateur local à l'ordinateur Server01. Cette commande utilise le paramètre ComputerName pour spécifier l'ordinateur Server01, mais omet le nom de paramètre optionnel.






Exemple 2

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

Description
-----------
Cette commande envoie les pings de l'ordinateur local à plusieurs ordinateurs distants. Elle utilise le paramètre Credential pour spécifier un compte d'utilisateur qui a l'autorisation d'effectuer un test ping sur tous les ordinateurs distants.






Exemple 3

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

Description
-----------
Cette commande envoie les pings de différents ordinateurs sources à un seul ordinateur distant, Server01. Utilisez ce format de commande pour tester la latence des connexions à partir de plusieurs points.






Exemple 4

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

Description
-----------
Cette commande envoie trois pings de l'ordinateur local à l'ordinateur Server01. Elle utilise les paramètres de Test-Connection pour personnaliser la commande.

Utilisez ce format de commande lorsque la réponse ping est censée prendre plus de temps que d'ordinaire en raison d'un nombre élevé de sauts ou d'un trafic à forte densité sur le réseau.






Exemple 5

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

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

Description
-----------
Cet exemple montre comment exécuter une commande Test-Connection en tant que tâche en arrière-plan Windows PowerShell. 

La première commande utilise l'applet de commande Test-Connection pour effectuer un test ping sur de nombreux ordinateurs dans une entreprise. La valeur du paramètre ComputerName est une commande Get-Content qui lit la liste des noms d'ordinateurs figurant dans le fichier Servers.txt. La commande utilise le paramètre AsJob pour exécuter la commande en tant que tâche en arrière-plan.

La deuxième commande vérifie si la tâche n'est pas en cours d'exécution et, si elle ne l'est pas, elle utilise une commande Receive-Job pour obtenir les résultats et les stocker dans la variable $results.






Exemple 6

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

Description
-----------
Cette commande utilise l'applet de commande Test-Connection pour effectuer un test ping sur un ordinateur distant. La commande utilise le paramètre Credential pour spécifier un compte d'utilisateur ayant l'autorisation d'effectuer un test ping sur l'ordinateur distant et le paramètre Impersonation pour affecter la valeur « Identify » au niveau d'emprunt d'identité.






Exemple 7

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

Description
-----------
Cette commande crée uniquement une session PSSession sur Server01 si au moins l'un des pings envoyés à l'ordinateur réussit.

Cette commande utilise l'applet de commande Test-Connection pour effectuer un test ping sur un ordinateur Server01. La commande utilise le paramètre Quiet, qui renvoie une valeur booléenne au lieu d'un objet Win32_PingStatus. La valeur est $True si chacun des quatre pings réussit ; dans le cas contraire, elle est False.

Si la commande Test-Connection retourne une valeur $True, la commande utilise l'applet de commande New-PSSession pour créer la session PSSession.






Voir aussi




Table des matières