Test-Connection

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

Syntax

Test-Connection
    [-Ping]
    [-IPv4]
    [-IPv6]
    [-ResolveDestination]
    [-Source <String>]
    [-MaxHops <Int32>]
    [-Count <Int32>]
    [-Delay <Int32>]
    [-BufferSize <Int32>]
    [-DontFragment]
    [-TimeoutSeconds <Int32>]
    [-TargetName] <String[]>
    [-Quiet]
    [<CommonParameters>]
Test-Connection
    [-Ping]
    [-IPv4]
    [-IPv6]
    [-ResolveDestination]
    [-Source <String>]
    [-MaxHops <Int32>]
    [-Delay <Int32>]
    [-BufferSize <Int32>]
    [-DontFragment]
    [-Continues]
    [-TimeoutSeconds <Int32>]
    [-TargetName] <String[]>
    [-Quiet]
    [<CommonParameters>]
Test-Connection
    [-IPv4]
    [-IPv6]
    [-ResolveDestination]
    [-TimeoutSeconds <Int32>]
    [-TargetName] <String[]>
    -MTUSizeDetect
    [-Quiet]
    [<CommonParameters>]
Test-Connection
    [-IPv4]
    [-IPv6]
    [-ResolveDestination]
    [-Source <String>]
    [-MaxHops <Int32>]
    [-TimeoutSeconds <Int32>]
    [-TargetName] <String[]>
    -Traceroute
    [-Quiet]
    [<CommonParameters>]
Test-Connection
    [-IPv4]
    [-IPv6]
    [-ResolveDestination]
    [-Source <String>]
    [-TimeoutSeconds <Int32>]
    [-TargetName] <String[]>
    -TCPPort <Int32>
    [-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 à la fois les ordinateurs d’envoi et de Test-Connection réception, pour exécuter la commande 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+PingReport 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

Pinging Server01 [10.59.137.44] with 32 bytes of data:
Reply from 10.59.137.44: bytes=32 time=0ms TTL=128
Reply from 10.59.137.44: bytes=32 time=0ms TTL=128
Reply from 10.59.137.44: bytes=32 time=0ms TTL=128
Reply from 10.59.137.44: bytes=32 time=0ms TTL=128
Ping complete.

Source     Destination Replies
------     ----------- -------
Server01   Server01    {System.Net.NetworkInformation.PingReply, System.Net.NetworkInformation ...

Test-Connection utilise le paramètre TargetName pour spécifier l’ordinateur Server01. Le paramètre IPv4 spécifie le protocole pour le test.

La sortie ping est envoyée au flux d’informations tandis que l’objet TestConnectionCommand+PingReport est envoyé au flux Success . Pour plus d’informations sur les flux de sortie, consultez about_Redirection.

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 : Envoyer des demandes d’écho de plusieurs ordinateurs à un ordinateur

Cet exemple envoie des tests ping de différents ordinateurs sources à un seul ordinateur distant, Server01.

Test-Connection -Source Server02, Server12, localhost -TargetName Server01

Utilisez ce format de commande pour tester la latence des connexions à partir de plusieurs points.

Exemple 4 : 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 5 : 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 "Servers.txt") }
if ($job.JobStateInfo.State -ne "Running") { $Results = Receive-Job $job }

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 de Start-Job commande pour exécuter la commande en tant que travail en arrière-plan et enregistre le travail dans la $job variable.

La if commande vérifie que le travail n’est pas encore en cours d’exécution. Si le travail n’est pas en cours d’exécution, Receive-Job obtient les résultats et les stocke dans la $Results variable.

Exemple 6 : 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 Server01}

La if commande utilise l’applet de Test-Connection commande pour effectuer un test ping sur l’ordinateur Server01. La commande utilise le paramètre Quiet , qui retourne une valeur booléenne , au lieu d’un objet TestConnectionCommand+PingReport .

La valeur est $True si l’un des quatre pings réussit. Si aucun test ping ne réussit, la valeur est $False.

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

Exemple 7 : Utiliser le paramètre Traceroute

À compter de 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.microsoft.com -Traceroute | ForEach-Object {
  $_ | Format-Table Source, DestinationAddress, DestinationHost
  $_.Replies | ForEach-Object {
      $_ | Format-Table Hop, ReplyRouterAddress
      $_.PingReplies | Format-Table
  }
}

Tracing route to www.microsoft.com [96.6.27.90] over a maximum of 128 hops:
  1   0 ms   0 ms   0 ms   192.168.0.3 [192.168.0.3]
  2   0 ms   0 ms   0 ms   192.168.1.1 [192.168.1.1]
  3   3 ms   29 ms   4 ms   96.6.27.90 [96.6.27.90]
Trace complete.

Source      DestinationAddress DestinationHost   Replies
------      ------------------ ---------------   -------
SERVER01    96.6.27.90         www.microsoft.com {, , }

Hop ReplyRouterAddress
--- ------------------
  1 192.168.0.3

    Status Address      RoundtripTime Options Buffer
    ------ -------      ------------- ------- ------
TtlExpired 192.168.86.1             0         {}
TtlExpired 192.168.86.1             0         {}
TtlExpired 192.168.86.1             0         {}

Hop ReplyRouterAddress
--- ------------------
  2 192.168.1.1

    Status Address     RoundtripTime Options Buffer
    ------ -------     ------------- ------- ------
TtlExpired 192.168.1.1             0         {}
TtlExpired 192.168.1.1             0         {}
TtlExpired 192.168.1.1             0         {}

Hop ReplyRouterAddress
--- ------------------
  3 96.6.27.90

 Status Address    RoundtripTime Options                                   Buffer
 ------ -------    ------------- -------                                   ------
Success 96.6.27.90             3 System.Net.NetworkInformation.PingOptions {97, 98, 99, 100…}
Success 96.6.27.90             2 System.Net.NetworkInformation.PingOptions {97, 98, 99, 100…}
Success 96.6.27.90             4 System.Net.NetworkInformation.PingOptions {97, 98, 99, 100…}

La Test-Connection commande utilise le paramètre Traceroute . Les résultats, qui sont des [Microsoft.PowerShell.Commands.TestConnectionCommand+TraceRouteResult] objets, sont dirigés vers l’applet de ForEach-Object commande. ForEach-Object crée une sortie structurée des objets contenus [Microsoft.PowerShell.Commands.TestConnectionCommand+TraceRouteReply] et des objets suivants [System.Net.NetworkInformation.PingReply] .

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

-Continues

Entraîne l’envoi continu de requêtes ping par l’applet de commande. Ce paramètre ne peut pas être utilisé avec le paramètre Count .

Type:SwitchParameter
Position:Named
Default value:None
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 du chemin D’accès MTU. Pour plus d’informations sur Path MTU, consultez l’article Path MTU Discovery dans wikipédia.

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 requête 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 est 128 tronçons.

Type:Int32
Aliases:Ttl, TimeToLive, Hops
Position:Named
Default value:128 hops in Windows 10
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-MTUSizeDetect

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 Path MTU Discovery dans wikipédia.

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

-Ping

Entraîne l’applet de commande à effectuer un test ping, qui est l’action par défaut.

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

-Quiet

Le paramètre Quiet renvoie une valeur booléenne dans un objet System.Boolean . 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 réussit, $True est retourné.

Si tous les tests ping échouent, $False est retourné.

Type:SwitchParameter
Position:Named
Default value:False
Required:False
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.

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.

Type:String
Position:Named
Default value:Local computer
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-TargetName

Spécifie les ordinateurs à tester. Tapez le nom des ordinateurs ou les adresses IP au format IPv4 ou IPv6. Les caractères génériques ne sont pas autorisés. Ce paramètre est obligatoire. ComputerName est un alias pour ce paramètre.

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’effectuer une connexion TCP au port spécifié sur la cible.

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

-TimeoutSeconds

Définit la valeur de délai d’attente 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

Provoque l’applet de commande à effectuer un test traceroute. Lorsque ce paramètre est utilisé, l’applet de commande retourne un TestConnectionCommand+TraceRouteResult 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 l’entrée vers cette applet de commande.

Sorties

TestConnectionCommand+PingReport, TestConnectionCommand+TraceRouteResult, Boolean, PingReply

Si vous spécifiez le paramètre Quiet , il retourne une valeur booléenne . Si plusieurs connexions sont testées, un tableau de valeurs booléennes est retourné. Sinon, Test-Connection retourne un objet TestConnectionCommand+PingReport pour chaque ping.