Partager via


Test-Connection

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

Syntaxe

Default (Par défaut)

Test-Connection
    [-ComputerName] <String[]>
    [-AsJob]
    [-DcomAuthentication <AuthenticationLevel>]
    [-WsmanAuthentication <String>]
    [-Protocol <String>]
    [-BufferSize <Int32>]
    [-Count <Int32>]
    [-Impersonation <ImpersonationLevel>]
    [-ThrottleLimit <Int32>]
    [-TimeToLive <Int32>]
    [-Delay <Int32>]
    [<CommonParameters>]

Source

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

Quiet

Test-Connection
    [-ComputerName] <String[]>
    [-DcomAuthentication <AuthenticationLevel>]
    [-WsmanAuthentication <String>]
    [-Protocol <String>]
    [-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 Quiet renvoie une valeur Boolean 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 pings 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 ComputerName 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 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 Test-Connection retourne une valeur de $true, la commande utilise l’applet de commande New-PSSession pour créer la session PS .

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 la fin du travail. 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.

Propriétés du paramètre

Type:SwitchParameter
Valeur par défaut:False
Prend en charge les caractères génériques:False
DontShow:False

Jeux de paramètres

Default
Position:Named
Obligatoire:False
Valeur du pipeline:False
Valeur du pipeline par nom de propriété:False
Valeur des arguments restants:False
Source
Position:Named
Obligatoire:False
Valeur du pipeline:False
Valeur du pipeline par nom de propriété:False
Valeur des arguments restants: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.

Propriétés du paramètre

Type:Int32
Valeur par défaut:32
Prend en charge les caractères génériques:False
DontShow:False
Alias:Taille, Octets, Licence ès sciences

Jeux de paramètres

(All)
Position:Named
Obligatoire:False
Valeur du pipeline:False
Valeur du pipeline par nom de propriété:False
Valeur des arguments restants: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 obligatoire.

Ce paramètre ne repose pas sur la communication à distance de 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.

Propriétés du paramètre

Type:

String[]

Valeur par défaut:None
Prend en charge les caractères génériques:False
DontShow:False
Alias:CN, adresse IP, __SERVEUR, Serveur, Destination

Jeux de paramètres

(All)
Position:0
Obligatoire:True
Valeur du pipeline:False
Valeur du pipeline par nom de propriété:True
Valeur des arguments restants:False

-Count

Spécifie le nombre de demandes d’écho à envoyer. La valeur par défaut est 4.

Propriétés du paramètre

Type:Int32
Valeur par défaut:4
Prend en charge les caractères génériques:False
DontShow:False

Jeux de paramètres

(All)
Position:Named
Obligatoire:False
Valeur du pipeline:False
Valeur du pipeline par nom de propriété:False
Valeur des arguments restants: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.

Propriétés du paramètre

Type:PSCredential
Valeur par défaut:Current user
Prend en charge les caractères génériques:False
DontShow:False

Jeux de paramètres

Source
Position:Named
Obligatoire:False
Valeur du pipeline:False
Valeur du pipeline par nom de propriété:False
Valeur des arguments restants:False

-DcomAuthentication

Spécifie le niveau d’authentification que cette applet de commande utilise avec WMI. Test-Connection utilise WMI. Les valeurs acceptables pour ce paramètre sont les suivantes :

  • Par défaut. Authentification de Windows
  • Aucun. Aucune authentification COM
  • Connecter. 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é des paquets
  • 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 'énumération AuthenticationLevel.

Propriétés du paramètre

Type:AuthenticationLevel
Valeur par défaut:Packet (enumerated value of 4)
Valeurs acceptées:Default, None, Connect, Call, Packet, PacketIntegrity, PacketPrivacy, Unchanged
Prend en charge les caractères génériques:False
DontShow:False
Alias:Authentification

Jeux de paramètres

(All)
Position:Named
Obligatoire:False
Valeur du pipeline:False
Valeur du pipeline par nom de propriété:False
Valeur des arguments restants:False

-Delay

Spécifie l’intervalle entre les pings, en secondes.

Propriétés du paramètre

Type:Int32
Valeur par défaut:1 (second)
Prend en charge les caractères génériques:False
DontShow:False

Jeux de paramètres

(All)
Position:Named
Obligatoire:False
Valeur du pipeline:False
Valeur du pipeline par nom de propriété:False
Valeur des arguments restants: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é.

Propriétés du paramètre

Type:ImpersonationLevel
Valeur par défaut:Impersonate
Valeurs acceptées:Default, Anonymous, Identify, Impersonate, Delegate
Prend en charge les caractères génériques:False
DontShow:False

Jeux de paramètres

(All)
Position:Named
Obligatoire:False
Valeur du pipeline:False
Valeur du pipeline par nom de propriété:False
Valeur des arguments restants:False

-Protocol

Spécifie un protocole. Les valeurs acceptables pour ce paramètre sont DCOM et WSMan.

Propriétés du paramètre

Type:String
Valeur par défaut:None
Valeurs acceptées:DCOM, WSMan
Prend en charge les caractères génériques:False
DontShow:False

Jeux de paramètres

(All)
Position:Named
Obligatoire:False
Valeur du pipeline:False
Valeur du pipeline par nom de propriété:False
Valeur des arguments restants: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.

Propriétés du paramètre

Type:SwitchParameter
Valeur par défaut:False
Prend en charge les caractères génériques:False
DontShow:False

Jeux de paramètres

Quiet
Position:Named
Obligatoire:False
Valeur du pipeline:False
Valeur du pipeline par nom de propriété:False
Valeur des arguments restants:False

-Source

Spécifie les noms des ordinateurs d'où provient la requête ping. Entrez une liste séparée par des virgules des noms d’ordinateurs. La valeur par défaut est l’ordinateur local.

Propriétés du paramètre

Type:

String[]

Valeur par défaut:Local computer
Prend en charge les caractères génériques:False
DontShow:False
Alias:FCN, SRC

Jeux de paramètres

Source
Position:1
Obligatoire:True
Valeur du pipeline:False
Valeur du pipeline par nom de propriété:False
Valeur des arguments restants: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.

Propriétés du paramètre

Type:Int32
Valeur par défaut:32
Prend en charge les caractères génériques:False
DontShow:False

Jeux de paramètres

Default
Position:Named
Obligatoire:False
Valeur du pipeline:False
Valeur du pipeline par nom de propriété:False
Valeur des arguments restants:False
Source
Position:Named
Obligatoire:False
Valeur du pipeline:False
Valeur du pipeline par nom de propriété:False
Valeur des arguments restants: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 .

Propriétés du paramètre

Type:Int32
Valeur par défaut:128 in Windows
Prend en charge les caractères génériques:False
DontShow:False
Alias:TTL

Jeux de paramètres

(All)
Position:Named
Obligatoire:False
Valeur du pipeline:False
Valeur du pipeline par nom de propriété:False
Valeur des arguments restants: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 acceptables pour ce paramètre sont les suivantes :

  • Élémentaire
  • CredSSP
  • Par défaut
  • Résumé
  • Kerberos
  • Négocier.

La valeur par défaut est Default.

Pour plus d'informations sur les valeurs de ce paramètre, voir AuthenticationMechanism Enumeration.

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é de l’opération à distance. Si l’ordinateur distant est compromis, les informations d’identification qui lui sont transmises peuvent être utilisées pour contrôler la session réseau.

Ce paramètre a été introduit dans Windows PowerShell 3.0.

Propriétés du paramètre

Type:String
Valeur par défaut:Default
Valeurs acceptées:Default, Basic, Negotiate, CredSSP, Digest, Kerberos
Prend en charge les caractères génériques:False
DontShow:False

Jeux de paramètres

(All)
Position:Named
Obligatoire:False
Valeur du pipeline:False
Valeur du pipeline par nom de propriété:False
Valeur des arguments restants:False

CommonParameters

Cette applet de commande prend en charge les paramètres courants : -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction et -WarningVariable. Pour plus d’informations, consultez about_CommonParameters.

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 commande Get-WmiObject Win32_PingStatus équivaut à une commande Test-Connection.

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