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