Partager via


Test-Connection

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

Syntaxe

Test-Connection
    [-ComputerName] <String[]>
    [-AsJob]
    [-Authentication <AuthenticationLevel>]
    [-BufferSize <Int32>]
    [-Count <Int32>]
    [-Impersonation <ImpersonationLevel>]
    [-ThrottleLimit <Int32>]
    [-TimeToLive <Int32>]
    [-Delay <Int32>]
    [<CommonParameters>]
Test-Connection
    [-ComputerName] <String[]>
    [-Source] <String[]>
    [-AsJob]
    [-Authentication <AuthenticationLevel>]
    [-BufferSize <Int32>]
    [-Count <Int32>]
    [-Credential <PSCredential>]
    [-Impersonation <ImpersonationLevel>]
    [-ThrottleLimit <Int32>]
    [-TimeToLive <Int32>]
    [-Delay <Int32>]
    [<CommonParameters>]
Test-Connection
    [-ComputerName] <String[]>
    [-Authentication <AuthenticationLevel>]
    [-BufferSize <Int32>]
    [-Count <Int32>]
    [-Impersonation <ImpersonationLevel>]
    [-TimeToLive <Int32>]
    [-Delay <Int32>]
    [-Quiet]
    [<CommonParameters>]

Description

L’applet de commande Test-Connection envoie des paquets de demande 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 Test-Connection pour spécifier à la fois les ordinateurs d’envoi et de réception, pour exécuter la commande en tant que travail en arrière-plan, définir un délai d’attente et un nombre de pings et configurer la connexion et l’authentification.

Contrairement à la commande ping familière, retourne un objet Win32_PingStatus que vous pouvez examiner dans PowerShell. Le paramètre silencieux retourne une valeur de 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 pour 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 TargetName 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 commande Test-Connection 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 commande Test-Connection effectue un test ping sur de nombreux ordinateurs d’une entreprise. La valeur du paramètre ComputerName est une commande Get-Content 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 variable $job.

La commande if 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 variable $Results.

Exemple 6 : Effectuer un test ping sur un ordinateur distant avec des informations d’identification

Cette commande utilise l’applet de commande Test-Connection 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é en 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 commande if utilise l’applet de commande Test-Connection pour effectuer un test ping sur l’ordinateur Server01. La commande utilise le paramètre silencieux , 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 commande retourne une valeur de , la commande utilise l’applet de commande pour créer lePSSession .

Paramètres

-AsJob

Indique que cette applet de commande s’exécute en tant que travail en arrière-plan.

Pour utiliser ce paramètre, les ordinateurs locaux et distants doivent être configurés pour la communication à distance et, sur Windows Vista et les versions ultérieures du système d’exploitation Windows, vous devez ouvrir PowerShell à l’aide de l’option Exécuter en tant qu’administrateur. Pour plus d’informations, consultez about_Remote_Requirements.

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 la fin du travail. Le travail est créé sur l’ordinateur local et les résultats des ordinateurs distants sont automatiquement retournés à l’ordinateur local. Pour obtenir les résultats du travail, utilisez l’applet de commande Receive-Job.

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

-Authentication

Spécifie le niveau d’authentification utilisé pour la connexion WMI. Test-Connection utilise WMI.

Les valeurs valides sont les suivantes :

  • inchangé : le niveau d’authentification est identique à la commande précédente.
  • par défaut : Authentification Windows.
  • Aucun: aucune authentification COM.
  • Connect: Authentification COM au niveau de la connexion.
  • d’appel : Authentification COM au niveau de l’appel.
  • paquets : Authentification COM au niveau du paquet.
  • PacketIntegrity: Authentification COM au niveau de l’intégrité des paquets.
  • packetPrivacy: Authentification COM au niveau de la confidentialité des paquets.

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 'énumération AuthenticationLevel.

Type:AuthenticationLevel
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

-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 à effectuer un test ping. Tapez les noms d’ordinateurs ou tapez des adresses IP au format IPv4 ou IPv6. Les caractères génériques ne sont pas autorisés. Ce paramètre est requis.

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.

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 autorisé à envoyer une requête 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 de commande Get-Credential.

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

-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.
  • Identifier. Permet aux objets d’interroger les informations d’identification de l’appelant.
  • emprunter l’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

-Quiet

Le paramètre Quiet retourne une valeur de 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 ping réussit, $True est retourné.

Si toutes les ping échouent, $False est retournée.

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 les noms des ordinateurs où provient le test ping. Entrez une liste séparée par des virgules des noms d’ordinateurs. 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 une valeur de 0, la valeur par défaut 32 est utilisée.

La limite de limitation 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 de durée de vie .

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

Entrées

None

Vous ne pouvez pas diriger l’entrée vers cette applet de commande.

Sorties

ManagementObject

Cette applet de commande retourne un objet de travail, si vous spécifiez le paramètre AsJob.

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

Notes

Cette applet de commande utilise la classe Win32_PingStatus. Une commande Get-WMIObject Win32_PingStatus équivaut à une commande Test-Connection.

Le jeu de paramètres source a été introduit dans PowerShell 3.0.