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 , $True
la 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.