Partager via


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 $Truecommande 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

ManagementObject

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 .

Boolean

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.