Test-Connection
Envoie des paquets de demande d’écho ICMP, ou des pings, à un ou plusieurs ordinateurs.
Syntaxe
Test-Connection
[-TargetName] <string[]>
[-Ping]
[-IPv4]
[-IPv6]
[-ResolveDestination]
[-Source <string>]
[-MaxHops <int>]
[-Count <int>]
[-Delay <int>]
[-BufferSize <int>]
[-DontFragment]
[-Quiet]
[-TimeoutSeconds <int>]
[<CommonParameters>]
Test-Connection
[-TargetName] <string[]>
-Repeat
[-Ping]
[-IPv4]
[-IPv6]
[-ResolveDestination]
[-Source <string>]
[-MaxHops <int>]
[-Delay <int>]
[-BufferSize <int>]
[-DontFragment]
[-Quiet]
[-TimeoutSeconds <int>]
[<CommonParameters>]
Test-Connection
[-TargetName] <string[]>
-Traceroute
[-IPv4]
[-IPv6]
[-ResolveDestination]
[-Source <string>]
[-MaxHops <int>]
[-Quiet]
[-TimeoutSeconds <int>]
[<CommonParameters>]
Test-Connection
[-TargetName] <string[]>
-MtuSize
[-IPv4]
[-IPv6]
[-ResolveDestination]
[-Quiet]
[-TimeoutSeconds <int>]
[<CommonParameters>]
Test-Connection
[-TargetName] <string[]>
-TcpPort <int>
[-IPv4]
[-IPv6]
[-ResolveDestination]
[-Source <string>]
[-Count <int>]
[-Delay <int>]
[-Repeat]
[-Quiet]
[-TimeoutSeconds <int>]
[-Detailed]
[<CommonParameters>]
Description
L’applet Test-Connection
de commande envoie des paquets de demande d’écho ICMP (Internet Control Message Protocol) à un ou plusieurs ordinateurs distants et retourne les réponses de réponse d’écho. Vous pouvez utiliser cette applet de commande pour déterminer si un ordinateur particulier peut être contacté sur un réseau IP.
Vous pouvez utiliser les paramètres permettant de Test-Connection
spécifier à la fois les ordinateurs d’envoi et de réception, d’exécuter la commande en tant que travail en arrière-plan, de définir un délai d’attente et un nombre de pings et de configurer la connexion et l’authentification.
Contrairement à la commande ping familière, Test-Connection
retourne un objet TestConnectionCommand+PingStatus que vous pouvez examiner dans PowerShell. Le paramètre Quiet retourne une valeur booléenne dans un objet System.Boolean pour chaque connexion testée. Si plusieurs connexions sont testées, un tableau de valeurs booléennes est retourné.
Exemples
Exemple 1 : Envoyer des demandes d’écho à un ordinateur distant
Cet exemple envoie des paquets de demande d’écho de l’ordinateur local à l’ordinateur Server01.
Test-Connection -TargetName Server01 -IPv4
Destination: Server01
Ping Source Address Latency BufferSize Status
(ms) (B)
---- ------ ------- ------- ---------- ------
1 ADMIN1 10.59.137.44 24 32 Success
2 ADMIN1 10.59.137.44 39 32 Success
3 ADMIN1 * * * TimedOut
4 ADMIN1 10.59.137.44 28 32 Success
Test-Connection
utilise le paramètre TargetName pour spécifier l’ordinateur Server01. Le paramètre IPv4 spécifie le protocole pour le test.
Une série d’objets TestConnectionCommand+PingStatus est envoyée au flux de sortie, un objet par réponse ping à partir de l’ordinateur cible.
Exemple 2 : Envoyer des demandes d’écho à plusieurs ordinateurs
Cet exemple envoie des tests ping de l’ordinateur local à plusieurs ordinateurs distants.
Test-Connection -TargetName Server01, Server02, Server12
Exemple 3 : Utiliser des paramètres pour personnaliser la commande de test
Cet exemple utilise les paramètres de Test-Connection
personnaliser la commande. L’ordinateur local envoie un test ping à un ordinateur distant.
Test-Connection -TargetName Server01 -Count 3 -Delay 2 -MaxHops 255 -BufferSize 256
Test-Connection
utilise le paramètre TargetName pour spécifier Server01. Le paramètre Count spécifie trois pings sont envoyés à l’ordinateur Server01 avec un délai de 2 secondes.
Vous pouvez utiliser ces options lorsque la réponse ping est censée prendre plus de temps que d’habitude, soit en raison d’un nombre étendu de tronçons ou d’une condition réseau à trafic élevé.
Exemple 4 : Exécuter un test en tant que travail en arrière-plan
Cet exemple montre comment exécuter une Test-Connection
commande en tant que travail en arrière-plan PowerShell.
$job = Start-Job -ScriptBlock { Test-Connection -TargetName (Get-Content -Path "Servers.txt") }
$Results = Receive-Job $job -Wait
La Start-Job
commande utilise l’applet de commande pour effectuer un Test-Connection
test ping sur de nombreux ordinateurs d’une entreprise.
La valeur du paramètre TargetName est une Get-Content
commande qui lit une liste de noms d’ordinateurs à partir du Servers.txt
fichier. La commande utilise l’applet Start-Job
de commande pour exécuter la commande en tant que travail en arrière-plan et enregistre le travail dans la $job
variable.
La Receive-Job
commande est spécifiée jusqu’à -Wait
ce que le travail soit terminé, puis obtient les résultats et les stocke dans la $Results
variable.
Exemple 5 : Créer une session uniquement si un test de connexion réussit
Cet exemple crée une session sur l’ordinateur Server01 uniquement si au moins un des pings envoyés à l’ordinateur réussit.
if (Test-Connection -TargetName Server01 -Quiet) { New-PSSession -ComputerName Server01 }
L’applet Test-Connection
de commande effectue un test ping sur l’ordinateur Server01
, avec le paramètre Quiet fourni.
La valeur résultante est $True
si l’un des quatre pings réussit. Si aucune des commandes ping ne réussit, la valeur est $False
.
Si la Test-Connection
commande retourne une valeur de , la commande utilise l’applet New-PSSession
de $True
commande pour créer la session PSSession.
Exemple 6 : Utiliser le paramètre TraceRoute
Introduit dans PowerShell 6.0, le paramètre TraceRoute mappe un itinéraire entre l’ordinateur local et la destination distante que vous spécifiez avec le paramètre TargetName .
Test-Connection -TargetName www.google.com -Traceroute
Target: google.com
Hop Hostname Ping Latency Status Source TargetAddress
(ms)
--- -------- ---- ------- ------ ------ -------------
1 172.20.0.1 1 4 Success Lira 172.217.9.174
1 172.20.0.1 2 3 Success Lira 172.217.9.174
1 172.20.0.1 3 2 Success Lira 172.217.9.174
2 12.108.153.193 1 3 Success Lira 172.217.9.174
2 12.108.153.193 2 3 Success Lira 172.217.9.174
2 12.108.153.193 3 2 Success Lira 172.217.9.174
3 12.244.85.177 1 11 Success Lira 172.217.9.174
3 12.244.85.177 2 12 Success Lira 172.217.9.174
3 12.244.85.177 3 12 Success Lira 172.217.9.174
4 * 1 14 DestinationNetw… Lira 172.217.9.174
4 * 2 * TimedOut Lira 172.217.9.174
4 * 3 20 DestinationNetw… Lira 172.217.9.174
5 * 1 * TimedOut Lira 172.217.9.174
5 * 2 15 DestinationNetw… Lira 172.217.9.174
5 * 3 * TimedOut Lira 172.217.9.174
6 * 1 18 DestinationNetw… Lira 172.217.9.174
6 * 2 * TimedOut Lira 172.217.9.174
6 * 3 16 DestinationNetw… Lira 172.217.9.174
7 * 1 * TimedOut Lira 172.217.9.174
7 * 2 * TimedOut Lira 172.217.9.174
7 * 3 * TimedOut Lira 172.217.9.174
8 * 1 * TimedOut Lira 172.217.9.174
8 * 2 * TimedOut Lira 172.217.9.174
8 * 3 * TimedOut Lira 172.217.9.174
9 * 1 * TimedOut Lira 172.217.9.174
9 * 2 * TimedOut Lira 172.217.9.174
9 * 3 * TimedOut Lira 172.217.9.174
10 * 1 * TimedOut Lira 172.217.9.174
10 * 2 * TimedOut Lira 172.217.9.174
10 * 3 * TimedOut Lira 172.217.9.174
11 172.217.9.174 1 23 Success Lira 172.217.9.174
11 172.217.9.174 2 21 Success Lira 172.217.9.174
11 172.217.9.174 3 22 Success Lira 172.217.9.174
La Test-Connection
commande est appelée avec le paramètre TraceRoute . Les résultats, qui sont [Microsoft.PowerShell.Commands.TestConnectionCommand+TraceStatus]
des objets, sont des sorties vers le flux de sortie Réussite .
Exemple 7 : Obtenir une sortie détaillée pour un test de connexion TCP
Lorsque vous utilisez le paramètre Détaillé , cette applet de commande retourne des informations détaillées sur l’état des tentatives de connexion TCP.
Test-Connection bing.com -TCPPort 443 -Detailed -Count 4
Target: bing.com
Id Source Address Port Latency(ms) Connected Status
-- ------ ------- ---- ----------- --------- ------
1 circumflex 2620:1ec:c11::200 443 12 True Success
2 circumflex 2620:1ec:c11::200 443 14 True Success
3 circumflex 2620:1ec:c11::200 443 17 True Success
4 circumflex 2620:1ec:c11::200 443 17 True Success
Paramètres
-BufferSize
Spécifie la taille (en octets) de la mémoire tampon envoyée avec cette commande. La valeur par défaut est 32.
Type: | Int32 |
Alias: | Size, Bytes, BS |
Position: | Named |
Valeur par défaut: | 32 |
Obligatoire: | False |
Accepter l'entrée de pipeline: | False |
Accepter les caractères génériques: | False |
-Count
Spécifie le nombre de demandes d’écho à envoyer. La valeur par défaut est 4.
Type: | Int32 |
Position: | Named |
Valeur par défaut: | 4 |
Obligatoire: | False |
Accepter l'entrée de pipeline: | False |
Accepter les caractères génériques: | False |
-Delay
Spécifie l’intervalle entre les pings (en secondes).
Type: | Int32 |
Position: | Named |
Valeur par défaut: | None |
Obligatoire: | False |
Accepter l'entrée de pipeline: | False |
Accepter les caractères génériques: | False |
-Detailed
Lorsque vous utilisez le paramètre Détaillé , cette applet de commande retourne des informations détaillées sur l’état des tentatives de connexion TCP.
Ce paramètre a été ajouté dans PowerShell 7.4.
Type: | SwitchParameter |
Position: | Named |
Valeur par défaut: | False |
Obligatoire: | False |
Accepter l'entrée de pipeline: | False |
Accepter les caractères génériques: | False |
-DontFragment
Ce paramètre définit l’indicateur Don’t Fragment dans l’en-tête IP. Vous pouvez utiliser ce paramètre avec le paramètre BufferSize pour tester la taille MTU path. Pour plus d’informations sur path MTU, consultez l’article Découverte du chemin MTU dans wikipédia.
Type: | SwitchParameter |
Position: | Named |
Valeur par défaut: | False |
Obligatoire: | False |
Accepter l'entrée de pipeline: | False |
Accepter les caractères génériques: | False |
-IPv4
Force l’applet de commande à utiliser le protocole IPv4 pour le test.
Type: | SwitchParameter |
Position: | Named |
Valeur par défaut: | False |
Obligatoire: | False |
Accepter l'entrée de pipeline: | False |
Accepter les caractères génériques: | False |
-IPv6
Force l’applet de commande à utiliser le protocole IPv6 pour le test.
Type: | SwitchParameter |
Position: | Named |
Valeur par défaut: | False |
Obligatoire: | False |
Accepter l'entrée de pipeline: | False |
Accepter les caractères génériques: | False |
-MaxHops
Définit le nombre maximal de tronçons qu’un message de demande ICMP peut être envoyé. La valeur par défaut est contrôlée par le système d’exploitation. La valeur par défaut pour Windows 10 et versions ultérieures est de 128 tronçons.
Type: | Int32 |
Alias: | Ttl, TimeToLive, Hops |
Position: | Named |
Valeur par défaut: | 128 |
Obligatoire: | False |
Accepter l'entrée de pipeline: | False |
Accepter les caractères génériques: | False |
-MtuSize
Ce paramètre est utilisé pour découvrir la taille MTU du chemin d’accès. L’applet de commande retourne un objet PingReply#MTUSize qui contient la taille MTU Path à la cible. Pour plus d’informations sur path MTU, consultez l’article Découverte du chemin MTU dans wikipédia.
Type: | SwitchParameter |
Alias: | MtuSizeDetect |
Position: | Named |
Valeur par défaut: | False |
Obligatoire: | True |
Accepter l'entrée de pipeline: | False |
Accepter les caractères génériques: | False |
-Ping
Provoque l’exécution d’un test ping par l’applet de commande. Il s’agit du mode par défaut de l’applet de Test-Connection
commande.
Type: | SwitchParameter |
Position: | Named |
Valeur par défaut: | True |
Obligatoire: | False |
Accepter l'entrée de pipeline: | False |
Accepter les caractères génériques: | False |
-Quiet
Le paramètre Quiet retourne une valeur booléenne . L’utilisation de ce paramètre supprime toutes les erreurs.
Chaque connexion testée retourne une valeur booléenne . Si le paramètre TargetName spécifie plusieurs ordinateurs, un tableau de valeurs booléennes est retourné.
Si un test ping sur une cible donnée réussit, $True
est retourné.
Si toutes les commandes ping vers une cible donnée échouent, $False
elle est retournée.
Type: | SwitchParameter |
Position: | Named |
Valeur par défaut: | False |
Obligatoire: | False |
Accepter l'entrée de pipeline: | False |
Accepter les caractères génériques: | False |
-Repeat
Provoque l’envoi continu de requêtes ping à l’applet de commande. Lorsque la valeur de TargetName est un tableau de cibles, l’applet de commande répète les requêtes ping pour la première cible uniquement. Elle ignore les cibles restantes. Ce paramètre ne peut pas être utilisé avec le paramètre Count .
Type: | SwitchParameter |
Alias: | Continuous |
Position: | Named |
Valeur par défaut: | False |
Obligatoire: | False |
Accepter l'entrée de pipeline: | False |
Accepter les caractères génériques: | False |
-ResolveDestination
Provoque la tentative de résolution du nom DNS de la cible par l’applet de commande. Lorsqu’ils sont utilisés conjointement avec le paramètre TraceRoute , les noms DNS de tous les hôtes intermédiaires sont également récupérés, si possible.
Type: | SwitchParameter |
Position: | Named |
Valeur par défaut: | False |
Obligatoire: | False |
Accepter l'entrée de pipeline: | False |
Accepter les caractères génériques: | False |
-Source
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.
Remarque
Ce paramètre n’est pas pris en charge dans les versions 6 et ultérieures de PowerShell. L’approvisionnement de ce paramètre provoque une erreur.
Type: | String |
Position: | Named |
Valeur par défaut: | Local computer |
Obligatoire: | False |
Accepter l'entrée de pipeline: | False |
Accepter les caractères génériques: | False |
-TargetName
Spécifie le ou les ordinateurs à tester. Tapez le nom des ordinateurs ou les adresses IP au format IPv4 ou IPv6.
Type: | String[] |
Alias: | ComputerName |
Position: | 0 |
Valeur par défaut: | None |
Obligatoire: | True |
Accepter l'entrée de pipeline: | True |
Accepter les caractères génériques: | False |
-TcpPort
Spécifie le numéro de port TCP sur la cible à utiliser dans le test de connexion TCP.
L’applet de commande tente d’établir une connexion TCP au port spécifié sur la cible.
- L’applet de commande retourne
$True
si une connexion est établie. - L’applet de commande retourne
$False
si une connexion n’est pas établie.
Type: | Int32 |
Position: | Named |
Valeur par défaut: | None |
Obligatoire: | True |
Accepter l'entrée de pipeline: | False |
Accepter les caractères génériques: | False |
-TimeoutSeconds
Définit la valeur de délai d’expiration du test. Le test échoue si une réponse n’est pas reçue avant l’expiration du délai d’expiration. La valeur par défaut est de cinq secondes.
Ce paramètre a été introduit dans PowerShell 6.0.
Type: | Int32 |
Position: | Named |
Valeur par défaut: | 5 seconds |
Obligatoire: | False |
Accepter l'entrée de pipeline: | False |
Accepter les caractères génériques: | False |
-Traceroute
Provoque l’exécution d’un test traceroute par l’applet de commande. Lorsque ce paramètre est utilisé, l’applet de commande retourne un TestConnectionCommand+TraceStatus
objet.
Type: | SwitchParameter |
Position: | Named |
Valeur par défaut: | False |
Obligatoire: | True |
Accepter l'entrée de pipeline: | False |
Accepter les caractères génériques: | False |
Entrées
None
Vous ne pouvez pas diriger les objets vers cette applet de commande.
Sorties
Microsoft.PowerShell.Commands.TestConnectionCommand+PingStatus
Par défaut, cette applet de commande retourne un objet TestConnectionCommand+PingStatus pour chaque réponse ping.
Microsoft.PowerShell.Commands.TestConnectionCommand+TraceStatus
Lorsque vous utilisez le paramètre TraceRoute , cette applet de commande renvoie un objet TestConnectionCommand+TraceStatus pour chaque réponse ping le long de l’itinéraire.
Lorsque vous utilisez les paramètres Quiet ou TcpPort , cette applet de commande retourne une valeur booléenne . Si l’applet de commande teste plusieurs connexions, elle retourne un tableau de valeurs booléennes .
Microsoft.PowerShell.Commands.TestConnectionCommand+PingMtuStatus
Lorsque vous utilisez le paramètre MtuSize , cette applet de commande renvoie un objet TestConnectionCommand+PingMtuStatus pour chaque réponse ping.
Microsoft.PowerShell.Commands.TestConnectionCommand+TcpPortStatus
Lorsque vous utilisez le paramètre Détaillé , cette applet de commande renvoie un objet TestConnectionCommand+TcpPortStatus qui affiche l’état de la connexion TCP.
Notes
Sur Linux, l’utilisation du paramètre BufferSize ou toute combinaison de paramètres avec le jeu de paramètres MtuSizeDetect qui entraîne une taille de mémoire tampon non par défaut de 32 octets peut nécessitersudo
. Dans ce cas, Test-Command
déclenche une exception avec un message indiquant qu’il sudo
est nécessaire.