Posted in: Windows 10, Windows 11, Windows 8 a 8.1, Windows server

Kontrola konektivity pomocí PowerShellu

Všichni ověřujeme možnost přístupu někam po síti pomocí příkazu ping, kterému rozumí příkazová řádka i PowerShell včetně všech jeho parametrů. PowerShell ovšem ukrývá dvojici cmdletů, která nám dává lepší možnosti zjištění síťové dostupnosti služby či zařízení. Tím hlavním je Test-NetConnection, který je vylepšenou obdobou pingu, využívá WMI třídu Win32_PingStatus.

Nejjednodušší podobu udává příklad s obecným dotazem na bing.com:

Test-NetConnection bing.com                                                                                                                                                                                                                                                                                                                          ComputerName           : bing.com
RemoteAddress          : 204.79.197.200
InterfaceAlias         : Wi-Fi
SourceAddress          : 192.168.0.21
PingSucceeded          : True
PingReplyDetails (RTT) : 15 ms

Výhodou proti pingu je možnost doptat se na více počítačů najednou, jako v následujícím příkladu, kde jsou počítače rozděleny do skupin dostupných (true) a nedostupných (false)

$computers = "chi-dc01","chi-dc02","chi-dc04","chi-app01","chi-core01"
$computers | group {test-connection -count 1 -ComputerName $_ -quiet}

Další výhodou je možnost ptát se na konkrétní služby, tedy ne jen na to, zda je daný systém online, ale zda je na něm aktivní webserver (http protokol).

Test-NetConnection bing.com -CommonTCPPort HTTP


ComputerName     : bing.com
RemoteAddress    : 204.79.197.200
RemotePort       : 80
InterfaceAlias   : Wi-Fi
SourceAddress    : 192.168.0.21
TcpTestSucceeded : True

Podporované jsou následující protokoly:

  • SMB
  • HTTP
  • RDP

Druhým příkazem je Test-WSMan, který slouží k detekování možnosti vzdálené správy pomocí PowerShellu.

Back to Top