Test-Connection
Envoie des paquets de demande d’écho ICMP, ou des pings, à un ou plusieurs ordinateurs.
Syntaxe
Test-Connection
[-AsJob]
[-DcomAuthentication <AuthenticationLevel>]
[-WsmanAuthentication <String>]
[-Protocol <String>]
[-BufferSize <Int32>]
[-ComputerName] <String[]>
[-Count <Int32>]
[-Impersonation <ImpersonationLevel>]
[-ThrottleLimit <Int32>]
[-TimeToLive <Int32>]
[-Delay <Int32>]
[<CommonParameters>]
Test-Connection
[-AsJob]
[-DcomAuthentication <AuthenticationLevel>]
[-WsmanAuthentication <String>]
[-Protocol <String>]
[-BufferSize <Int32>]
[-ComputerName] <String[]>
[-Count <Int32>]
[-Credential <PSCredential>]
[-Source] <String[]>
[-Impersonation <ImpersonationLevel>]
[-ThrottleLimit <Int32>]
[-TimeToLive <Int32>]
[-Delay <Int32>]
[<CommonParameters>]
Test-Connection
[-DcomAuthentication <AuthenticationLevel>]
[-WsmanAuthentication <String>]
[-Protocol <String>]
[-BufferSize <Int32>]
[-ComputerName] <String[]>
[-Count <Int32>]
[-Impersonation <ImpersonationLevel>]
[-TimeToLive <Int32>]
[-Delay <Int32>]
[-Quiet]
[<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 Win32_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 -ComputerName Server01
Source Destination IPV4Address IPV6Address Bytes Time(ms)
------ ----------- ----------- ----------- ----- --------
ADMIN1 Server01 10.59.137.44 32 0
ADMIN1 Server01 10.59.137.44 32 0
ADMIN1 Server01 10.59.137.44 32 0
ADMIN1 Server01 10.59.137.44 32 1
Test-Connection
utilise le paramètre ComputerName pour spécifier l’ordinateur Server01.
Exemple 2 : Envoyer des demandes d’écho à plusieurs ordinateurs
Cet exemple envoie des tests ping de l’ordinateur local à plusieurs ordinateurs distants.
Test-Connection -ComputerName 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 -ComputerName Server01 -Credential Domain01\Admin01
Test-Connection
utilise le paramètre Credential pour spécifier les informations d’identification d’un utilisateur autorisé à envoyer une requête ping à partir des ordinateurs sources. 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
personnaliser la commande. L’ordinateur local envoie un test ping à un ordinateur distant.
Test-Connection -ComputerName Server01 -Count 3 -Delay 2 -TTL 255 -BufferSize 256 -ThrottleLimit 32
Test-Connection
utilise le paramètre ComputerName 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 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 = Test-Connection -ComputerName (Get-Content Servers.txt) -AsJob
if ($job.JobStateInfo.State -ne "Running") {$Results = Receive-Job $job}
La Test-Connection
commande effectue un test ping sur de nombreux ordinateurs d’une entreprise. La valeur du paramètre ComputerName est une Get-Content
commande qui lit une liste de noms d’ordinateurs à partir du Servers.txt file
. La commande utilise le paramètre AsJob 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 : Effectuer un test ping sur un ordinateur distant avec des informations d’identification
Cette commande utilise l’applet Test-Connection
de commande pour effectuer un test ping sur un ordinateur distant.
Test-Connection Server55 -Credential Domain55\User01 -Impersonation Identify
La commande utilise le paramètre Credential pour spécifier un compte d’utilisateur autorisé à effectuer un test ping sur l’ordinateur distant et le paramètre Emprunt d’identité pour modifier le niveau d’emprunt d’identité pour Identifier.
Exemple 7 : 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 -ComputerName Server01 -Quiet) {New-PSSession Server01}
La if
commande utilise l’applet de commande pour effectuer un Test-Connection
test ping sur l’ordinateur Server01. La commande utilise le paramètre Quiet , qui retourne une valeur booléenne , au lieu d’un objet Win32_PingStatus . La valeur est $True
si l’un des quatre pings réussit et est, sinon, $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.
Paramètres
-AsJob
Indique que cette applet de commande s’exécute en tant que travail en arrière-plan. Lorsque vous spécifiez le paramètre AsJob , la commande retourne immédiatement un objet qui représente le travail en arrière-plan. Vous pouvez continuer à travailler dans la session pendant l'exécution de la tâche. Pour obtenir les résultats du travail, utilisez l’applet Receive-Job
de commande.
Pour plus d’informations sur les travaux en arrière-plan PowerShell, consultez about_Jobs et about_Remote_Jobs.
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 |
-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 |
-ComputerName
Spécifie les ordinateurs sur lesquels effectuer un test ping. 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.
Ce paramètre ne s’appuie pas sur la communication à distance PowerShell. Vous pouvez utiliser le paramètre ComputerName même si votre ordinateur n’est pas configuré pour exécuter des commandes distantes.
Remarque
Le paramètre ComputerName est renommé TargetName dans PowerShell 6.0 et versions ultérieures.
Type: | String[] |
Alias: | CN, IPAddress, __SERVER, Server, Destination |
Position: | 0 |
Valeur par défaut: | None |
Obligatoire: | True |
Accepter l'entrée de pipeline: | True |
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 |
-Credential
Spécifie un compte d’utilisateur qui a l’autorisation d’envoyer une demande Ping à partir de l’ordinateur source. Tapez un nom d’utilisateur, tel que User01 ou Domain01\User01, ou entrez un objet PSCredential , tel qu’un de l’applet Get-Credential
de commande.
Le paramètre Credential est valide uniquement lorsque le paramètre Source est utilisé dans la commande. Les informations d’identification n’affectent pas l’ordinateur de destination.
Type: | PSCredential |
Position: | Named |
Valeur par défaut: | Current user |
Obligatoire: | False |
Accepter l'entrée de pipeline: | False |
Accepter les caractères génériques: | False |
-DcomAuthentication
Spécifie le niveau d’authentification que cette applet de commande utilise avec WMI.
Test-Connection
utilise WMI.
Les valeurs valides pour ce paramètre sont :
- Par défaut. Authentification Windows
- Aucun. aucune authentification COM.
- Connexion. authentification COM au niveau de la connexion
- Appelez. authentification COM au niveau de l'appel.
- Paquet. 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é des paquets
- Inchangé. Identique à la commande précédente
La valeur par défaut est Packet qui a une valeur énumérée de 4. Pour plus d’informations sur les valeurs de ce paramètre, consultez l’énumération AuthenticationLevel .
Type: | AuthenticationLevel |
Alias: | Authentication |
Valeurs acceptées: | Default, None, Connect, Call, Packet, PacketIntegrity, PacketPrivacy, Unchanged |
Position: | Named |
Valeur par défaut: | Packet (enumerated value of 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: | 1 (second) |
Obligatoire: | False |
Accepter l'entrée de pipeline: | False |
Accepter les caractères génériques: | False |
-Impersonation
Spécifie le niveau d’emprunt d’identité à utiliser lorsque cette applet de commande appelle WMI. Test-Connection
utilise WMI.
Les valeurs acceptables pour ce paramètre sont les suivantes :
- Par défaut. emprunt d'identité par défaut.
- Anonyme. masque l'identité de l'appelant.
- Identifiez. Permet aux objets d'interroger les informations d'identification de l'appelant.
- Emprunt d’identité. Permet aux objets d'utiliser les informations d'identification de l'appelant.
La valeur par défaut est Emprunt d’identité.
Type: | ImpersonationLevel |
Valeurs acceptées: | Default, Anonymous, Identify, Impersonate, Delegate |
Position: | Named |
Valeur par défaut: | Impersonate |
Obligatoire: | False |
Accepter l'entrée de pipeline: | False |
Accepter les caractères génériques: | False |
-Protocol
Spécifie un protocole. Les valeurs acceptables pour ce paramètre sont DCOM et WSMan.
Type: | String |
Valeurs acceptées: | DCOM, WSMan |
Position: | Named |
Valeur par défaut: | None |
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 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 ComputerName 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 |
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.
Type: | String[] |
Alias: | FCN, SRC |
Position: | 1 |
Valeur par défaut: | Local computer |
Obligatoire: | True |
Accepter l'entrée de pipeline: | False |
Accepter les caractères génériques: | False |
-ThrottleLimit
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.
Type: | Int32 |
Position: | Named |
Valeur par défaut: | 32 |
Obligatoire: | False |
Accepter l'entrée de pipeline: | False |
Accepter les caractères génériques: | False |
-TimeToLive
Spécifie le nombre maximal de fois où un paquet peut être transféré. Pour chaque tronçon dans les passerelles, les routeurs, etc. la valeur TimeToLive est réduite d’une. À zéro, le paquet est ignoré et une erreur est retournée. Dans Windows, la valeur par défaut est 128. L’alias du paramètre TimeToLive est TTL.
Type: | Int32 |
Alias: | TTL |
Position: | Named |
Valeur par défaut: | 128 in Windows |
Obligatoire: | False |
Accepter l'entrée de pipeline: | False |
Accepter les caractères génériques: | False |
-WsmanAuthentication
Spécifie le mécanisme utilisé pour authentifier les informations d’identification de l’utilisateur lorsque cette applet de commande utilise le protocole WSMan. Les valeurs valides pour ce paramètre sont :
- De base
- CredSSP
- Par défaut
- Digest
- Kerberos
- Négocier.
La valeur par défaut est Default.
Pour plus d’informations sur les valeurs de ce paramètre, consultez AuthenticationMechanism, énumération.
Attention : l’authentification CredSSP (Credential Security Service Provider), dans laquelle les informations d’identification de l’utilisateur sont transmises à un ordinateur distant à authentifier, est conçue pour les commandes qui nécessitent une authentification sur plusieurs ressources, telles que l’accès à un partage réseau distant. Ce mécanisme augmente le risque de sécurité lié à l'opération distante. Si l'ordinateur distant n'est pas fiable, les informations d'identification qui lui sont passées peuvent être utilisées pour contrôler la session réseau.
Ce paramètre a été introduit dans Windows PowerShell 3.0.
Type: | String |
Valeurs acceptées: | Default, Basic, Negotiate, CredSSP, Digest, Kerberos |
Position: | Named |
Valeur par défaut: | Default |
Obligatoire: | False |
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
Par défaut, cette applet de commande retourne un objet Win32_PingStatus pour chaque réponse ping.
System.Management.Automation.RemotingJob
Cette applet de commande retourne un objet de travail, si vous spécifiez le paramètre AsJob .
Lorsque vous utilisez le paramètre Quiet , cette propriété renvoie une valeur booléenne . Si l’applet de commande teste plusieurs connexions, elle retourne un tableau de valeurs booléennes .
Notes
Cette applet de commande utilise la classe Win32_PingStatus . Une Get-WMIObject Win32_PingStatus
commande équivaut à une Test-Connection
commande.
Le jeu de paramètres source a été introduit dans PowerShell 3.0.