L’cmdlet du jour est PowerShell Test-Connection. Test-Connection
est un cmdlet qui, sans surprise, teste votre connexion réseau. Pensez à Test-Connection
comme l’implémentation de PowerShell de l’utilitaire ping populaire. Bien qu’ils aient tous les deux ICMP en commun, vous verrez que les deux méthodes sont un peu différentes sous le capot.
L’utilisation de ce cmdlet est simple. Dans sa forme la plus basique, spécifiez simplement un paramètre ComputerName
, et il enverra quatre requêtes ICMP à l’hôte de destination.
Cette sortie ressemble à ping.exe et, en surface, c’est le cas, mais test-connection de Powershell envoie la requête ICMP un peu différemment. Contrairement à ping.exe, Test-Connection
utilise la classe WMI du poste local Win32_PingStatus pour envoyer la requête ICMP. L’utilisation du référentiel WMI local signifie que vous devez vous assurer que votre référentiel WMI local est en bon état, sinon Test-Connection
ne fonctionnera pas.
Sortie Objet de PowerShell Test-Connection
De plus, comme avec la puissance de PowerShell, ce cmdlet ne retourne pas simplement ce qui apparaît immédiatement dans la console. Nous obtenons des objets riches à partir desquels nous pouvons recueillir plus d’informations.
Si j’assigne la sortie à une variable et que je vérifie les propriétés, vous pouvez voir que j’ai recueilli beaucoup plus d’informations utiles.
Si vous testez des hôtes internes, Test-Connection
utilisera DCOM pour s’authentifier auprès des hôtes distants. Par défaut, il utilisera l’authentification DCOM au niveau du paquet mais le type d’authentification peut toujours être modifié avec le paramètre DcomAuthentication
.
Utilisation des tâches en arrière-plan
Cette commande peut également s’exécuter en arrière-plan. Les tâches en arrière-plan sont pratiques si vous avez beaucoup d’ordinateurs distants à pinguer et que vous ne voulez pas attendre indéfiniment ceux qui finiront par expirer, il suffit de les envoyer en tâche de fond.
Selon l’aide PowerShell pour les test-connections de Powershell, il est dit que l’accès distant PowerShell doit être activé sur les ordinateurs locaux et distants, mais ce n’est pas vrai. Comme vous pouvez le voir ci-dessous, je teste google.com, et la commande fonctionne toujours très bien.


Restons simples
Enfin, si vous cherchez simplement une réponse binaire oui/non pour savoir si un ordinateur répond ou non, vous pouvez toujours utiliser le paramètre Quiet
. Une chaîne commune que j’utilise toujours pour voir rapidement si un serveur est en ligne ou non est d’utiliser Quiet
et Count
de 1 pour forcer Test-Connection
à envoyer une seule demande ICMP.
C’est tout pour notre cmdlet du jour ! Nous avons couvert la majorité de ce qui est possible avec test-connection Powershell, mais, comme toujours, consultez le contenu d’aide PowerShell ou rendez-vous sur la documentation Microsoft pour une explication complète.
Source:
https://adamtheautomator.com/powershell-test-connection/