Partager via


Test-Connection

Envoie des paquets de requête d’écho ICMP, ou des pings, à un ou plusieurs ordinateurs.

Syntax

Test-Connection
    [-TargetName] <string[]>
    [-Ping]
    [-IPv4]
    [-IPv6]
    [-ResolveDestination]
    [-Source <string>]
    [-MaxHops <int>]
    [-Count <int>]
    [-Delay <int>]
    [-BufferSize <int>]
    [-DontFragment]
    [-TimeoutSeconds <int>]
    [-Quiet]
    [<CommonParameters>]
Test-Connection
    [-TargetName] <string[]>
    -Repeat
    [-Ping]
    [-IPv4]
    [-IPv6]
    [-ResolveDestination]
    [-Source <string>]
    [-MaxHops <int>]
    [-Delay <int>]
    [-BufferSize <int>]
    [-DontFragment]
    [-TimeoutSeconds <int>]
    [-Quiet]
    [<CommonParameters>]
Test-Connection
    [-TargetName] <string[]>
    -MtuSize
    [-IPv4]
    [-IPv6]
    [-ResolveDestination]
    [-TimeoutSeconds <int>]
    [-Quiet]
    [<CommonParameters>]
Test-Connection
    [-TargetName] <string[]>
    -Traceroute
    [-IPv4]
    [-IPv6]
    [-ResolveDestination]
    [-Source <string>]
    [-MaxHops <int>]
    [-TimeoutSeconds <int>]
    [-Quiet]
    [<CommonParameters>]
Test-Connection
    [-TargetName] <string[]>
    -TcpPort <int>
    [-IPv4]
    [-IPv6]
    [-ResolveDestination]
    [-Source <string>]
    [-TimeoutSeconds <int>]
    [-Quiet]
    [<CommonParameters>]

Description

L’applet Test-Connection de commande envoie des paquets de requête d’écho ICMP (Internet Control Message Protocol) ou des pings à 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 de pour spécifier les ordinateurs d’envoi et de Test-Connection réception, pour exécuter la commande en tant que travail en arrière-plan, pour définir un délai d’attente et un nombre de pings, et pour 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 renvoie 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 sont envoyés 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 pings à partir de l’ordinateur local vers 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 pour 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 que 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 Test-Connection commande pour effectuer un 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 chargée jusqu’à -Wait ce que le travail soit terminé, puis obtient les résultats et les stocke dans la $Results variable.

Exemple 5 : Create une session uniquement si un test de connexion réussit

Cet exemple crée une session sur l’ordinateur Server01 uniquement si au moins l’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 aucun des tests ping ne réussit, la valeur est $False.

Si la Test-Connection commande retourne la valeur $True, la commande utilise l’applet New-PSSession de 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 des [Microsoft.PowerShell.Commands.TestConnectionCommand+TraceStatus] objets, sont générés dans le flux de sortie Réussite .

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
Aliases:Size, Bytes, BS
Position:Named
Default value:32
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Count

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

Type:Int32
Position:Named
Default value:4
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Delay

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

Type:Int32
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-DontFragment

Ce paramètre définit l’indicateur Ne pas fragmenter 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 wikipedia.

Type:SwitchParameter
Position:Named
Default value:False
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-IPv4

Force l’applet de commande à utiliser le protocole IPv4 pour le test.

Type:SwitchParameter
Position:Named
Default value:False
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-IPv6

Force l’applet de commande à utiliser le protocole IPv6 pour le test.

Type:SwitchParameter
Position:Named
Default value:False
Required:False
Accept pipeline input:False
Accept wildcard characters: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 supérieur est de 128 tronçons.

Type:Int32
Aliases:Ttl, TimeToLive, Hops
Position:Named
Default value:128
Required:False
Accept pipeline input:False
Accept wildcard characters: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 du chemin d’accès à la cible. Pour plus d’informations sur path MTU, consultez l’article Découverte du chemin MTU dans wikipedia.

Type:SwitchParameter
Aliases:MtuSizeDetect
Position:Named
Default value:False
Required:True
Accept pipeline input:False
Accept wildcard characters:False

-Ping

Provoque l’exécution d’un test ping par l’applet de commande. Il s’agit du mode par défaut pour l’applet de Test-Connection commande.

Type:SwitchParameter
Position:Named
Default value:True
Required:False
Accept pipeline input:False
Accept wildcard characters: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 tous les tests ping sur une cible donnée échouent, $False est retourné.

Type:SwitchParameter
Position:Named
Default value:False
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Repeat

Provoque l’envoi continu de requêtes ping par 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. Il ignore les cibles restantes. Ce paramètre ne peut pas être utilisé avec le paramètre Count .

Type:SwitchParameter
Aliases:Continuous
Position:Named
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters:False

-ResolveDestination

Provoque la tentative de résolution du nom DNS de la cible par l’applet de commande. Lorsqu’il est utilisé 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
Default value:False
Required:False
Accept pipeline input:False
Accept wildcard characters: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.

Notes

Ce paramètre n’est pas pris en charge dans PowerShell versions 6 et ultérieures. La fourniture de ce paramètre provoque une erreur.

Type:String
Position:Named
Default value:Local computer
Required:False
Accept pipeline input:False
Accept wildcard characters: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[]
Aliases:ComputerName
Position:0
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters: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.

Si une connexion peut être établie, $True est retourné.

Si une connexion ne peut pas être établie, $False est retourné.

Type:Int32
Position:Named
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters:False

-TimeoutSeconds

Définit la valeur du délai d’expiration pour le test. Le test échoue si aucune réponse n’est reçue avant l’expiration du délai d’expiration. La valeur par défaut est cinq secondes.

Ce paramètre a été introduit dans PowerShell 6.0.

Type:Int32
Position:Named
Default value:5 seconds
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Traceroute

Entraîne l’applet de commande à effectuer un test traceroute. Lorsque ce paramètre est utilisé, l’applet de commande retourne un TestConnectionCommand+TraceStatus objet .

Type:SwitchParameter
Position:Named
Default value:False
Required:True
Accept pipeline input:False
Accept wildcard characters:False

Entrées

None

Vous ne pouvez pas diriger les objets vers cette applet de commande.

Sorties

TestConnectionCommand+PingStatus

Par défaut, cette applet de commande renvoie un objet TestConnectionCommand+PingStatus pour chaque réponse ping.

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.

Boolean

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 .

TestConnectionCommand+PingMtuStatus

Lorsque vous utilisez le paramètre MtuSize , cette applet de commande renvoie un objet TestConnectionCommand+PingMtuStatus pour chaque réponse ping.