Sieťová diagnostika a VPN pre helpdesk: Kompletný sprievodca riešením problémov (2026)

Kompletný sprievodca sieťovou diagnostikou pre helpdesk technikov. DNS, DHCP, Always On VPN, migrácia z SSTP na IKEv2, Wi-Fi 802.1X a praktické PowerShell skripty pre podnikové prostredie.

Úvod: Sieť je základ všetkého — a keď nefunguje, nefunguje nič

Priznajme si to — väčšina tiketov, ktoré prídu na helpdesk, má v jadre sieťový problém. Používateľ sa nemôže pripojiť k zdieľanému priečinku? Sieť. Nefunguje tlač na sieťovej tlačiarni? Sieť. VPN sa odpojí každých päť minút? Sieť. E-mail sa neodosiela? Pravdepodobne tiež sieť.

Ako helpdesk technik jednoducho musíte vedieť rýchlo diagnostikovať, kde presne problém vzniká, a efektívne ho vyriešiť — alebo ho aspoň správne eskalovať. Nemáte na to celý deň, používateľ sedí pri telefóne a čaká.

Rok 2026 priniesol niekoľko zásadných zmien, ktoré priamo ovplyvňujú sieťovú diagnostiku v podnikovom prostredí. Microsoft ukončuje podporu protokolu SSTP na Azure VPN Gateway (nové brány od 31. marca 2026, existujúce pripojenia do 31. marca 2027). Windows 11 verzia 25H2 priniesla zmeny v správaní DNS klienta. A stále viac organizácií prechádza na model Zero Trust Network Access (ZTNA), čo mení pravidlá hry pri VPN a sieťovom prístupe.

Takže, poďme na to. V tomto článku prejdeme kompletnou sieťovou diagnostikou — od základných príkazov, cez pokročilú diagnostiku DNS a DHCP, až po riešenie problémov s VPN a Wi-Fi. Každá sekcia obsahuje konkrétne príkazy a postupy, ktoré môžete okamžite použiť vo svojej praxi.

1. Základné diagnostické nástroje — vaša prvá línia obrany

Klasické CMD príkazy, ktoré nikdy nezostarnú

Áno, v roku 2026 stále používame ping a tracert. Nie preto, že by neexistovali lepšie nástroje, ale preto, že tieto príkazy fungujú spoľahlivo a rýchlo vám povedia, kde je problém. Mám kolegov, ktorí sa za to hanbia — ja nie. Ak to funguje, funguje to.

# Základná kontrola konektivity
ping 8.8.8.8              # Test pripojenia na internet (Google DNS)
ping 10.0.0.1             # Test pripojenia na predvolenú bránu
ping dc01.firma.local      # Test pripojenia na doménový radič

# Rozšírený ping s parametrami
ping -t 10.0.0.1           # Nepretržitý ping (Ctrl+C na zastavenie)
ping -n 100 server01       # 100 paketov pre testovanie stability
ping -l 1472 -f server01   # Test MTU (1472 + 28 bajtov hlavičky = 1500)

Posledný príkaz je obzvlášť užitočný. Ak ping s veľkosťou paketu 1472 zlyhá s hlásením „Packet needs to be fragmented but DF set", máte problém s MTU niekde na trase. Znižujte hodnotu o 10, kým nezistíte maximálnu veľkosť bez fragmentácie — zvyčajne sa zastavíte niekde okolo 1400.

Tracert a PathPing — kde sa pakety strácajú

Tracert je skvelý na identifikáciu, kde presne na trase dochádza k problému. Ale väčšina technikov (úprimne, vrátane mňa donedávna) nevie o jeho výkonnejšom bratovi — pathping.

# Základný traceroute
tracert www.microsoft.com

# Traceroute bez DNS rozlíšenia (rýchlejšie)
tracert -d www.microsoft.com

# PathPing — kombinácia tracert a ping
# Zobrazí stratu paketov na každom uzle
pathping 10.0.0.1

# PathPing s parametrami
pathping -n -q 50 server01.firma.local

PathPing najprv vykoná trasovanie cesty a potom posiela pakety na každý uzol počas 25 sekúnd (štandardne). Výstup zobrazuje percentuálnu stratu paketov na každom skoku, čo je neoceniteľné pri diagnostike intermitentných problémov s konektivitou. Je to trochu pomalšie, ale tie výsledky za to stoja.

IPConfig — viac než len /all

Každý technik pozná ipconfig /all, ale tento nástroj vie oveľa viac:

# Kompletná konfigurácia sieťových adaptérov
ipconfig /all

# Vyčistenie DNS cache — prvý krok pri DNS problémoch
ipconfig /flushdns

# Opätovná registrácia DNS
ipconfig /registerdns

# Uvoľnenie a obnovenie DHCP adresy
ipconfig /release
ipconfig /renew

# Uvoľnenie a obnovenie pre konkrétny adaptér
ipconfig /release "Ethernet 2"
ipconfig /renew "Ethernet 2"

# Zobrazenie DNS cache
ipconfig /displaydns

Tip z praxe: Ak používateľ hlási, že „internet nefunguje", ale ping na IP adresu funguje, problém je takmer vždy v DNS. Spustite ipconfig /flushdns a ipconfig /registerdns — podľa mojej skúsenosti to v asi 60 % prípadov problém vyrieši. Vážne, je to tak jednoduché.

2. PowerShell sieťové cmdlety — moderná diagnostika pre rok 2026

Test-NetConnection — náhrada za ping, tracert a telnet

PowerShell cmdlet Test-NetConnection (skrátene tnc) je pravdepodobne najužitočnejší diagnostický nástroj, ktorý máte k dispozícii. Kombinuje funkcie pingu, traceroutu a testovania portov do jedného príkazu. Ak si z tohto článku zapamätáte len jednu vec, nech je to tento cmdlet.

# Základný test konektivity
Test-NetConnection -ComputerName server01.firma.local

# Test konkrétneho portu (náhrada za telnet)
Test-NetConnection -ComputerName server01 -Port 443
Test-NetConnection -ComputerName smtp.firma.local -Port 25
Test-NetConnection -ComputerName dc01 -Port 389   # LDAP
Test-NetConnection -ComputerName dc01 -Port 636   # LDAPS

# Traceroute v PowerShell
Test-NetConnection -ComputerName 8.8.8.8 -TraceRoute

# Detailný výstup
Test-NetConnection -ComputerName server01 -Port 3389 -InformationLevel Detailed

# Rýchly test viacerých portov na jednom serveri
@(80, 443, 8080, 3389) | ForEach-Object {
    $result = Test-NetConnection -ComputerName server01 -Port $_ -WarningAction SilentlyContinue
    [PSCustomObject]@{
        Port   = $_
        Open   = $result.TcpTestSucceeded
    }
} | Format-Table -AutoSize

Resolve-DnsName — pokročilá DNS diagnostika

Resolve-DnsName je PowerShell náhrada za nslookup, ale s omnoho väčšími možnosťami. Upozorním na jednu vec — nslookup stále funguje a je rýchlejší na základné dotazy, ale keď potrebujete niečo hromadne skriptovať, Resolve-DnsName je jasná voľba.

# Základné rozlíšenie DNS mena
Resolve-DnsName server01.firma.local

# Dotaz na konkrétny typ záznamu
Resolve-DnsName firma.sk -Type MX        # Mail záznamy
Resolve-DnsName firma.sk -Type TXT       # SPF, DKIM záznamy
Resolve-DnsName firma.sk -Type NS        # Nameservery
Resolve-DnsName _ldap._tcp.firma.local -Type SRV  # SRV záznamy pre AD

# Dotaz na konkrétny DNS server
Resolve-DnsName server01.firma.local -Server 10.0.0.10

# Kontrola reverzného DNS
Resolve-DnsName 10.0.0.50 -Type PTR

# Hromadná kontrola DNS pre viacero serverov
$servers = @("dc01", "dc02", "exchange01", "sharepoint01")
$servers | ForEach-Object {
    try {
        $dns = Resolve-DnsName "$_.firma.local" -ErrorAction Stop
        [PSCustomObject]@{
            Server  = $_
            IP      = $dns.IPAddress
            Status  = "OK"
        }
    } catch {
        [PSCustomObject]@{
            Server  = $_
            IP      = "N/A"
            Status  = "CHYBA: $($_.Exception.Message)"
        }
    }
} | Format-Table -AutoSize

Get-NetAdapter a Get-NetIPConfiguration — stav sieťových adaptérov

# Zoznam všetkých sieťových adaptérov
Get-NetAdapter | Format-Table Name, Status, LinkSpeed, MediaType

# Detailné informácie o IP konfigurácii
Get-NetIPConfiguration -Detailed

# Kontrola DNS serverov pre konkrétny adaptér
Get-DnsClientServerAddress -InterfaceAlias "Ethernet"

# Reštart sieťového adaptéra (vyžaduje admin práva)
Restart-NetAdapter -Name "Ethernet"

# Kontrola sieťového profilu (Domain/Private/Public)
Get-NetConnectionProfile

# Zmena profilu na Domain (ak sa automaticky nerozpoznal)
Set-NetConnectionProfile -InterfaceAlias "Ethernet" -NetworkCategory DomainAuthenticated

Dôležitý tip: Ak sa počítač pripojený do podnikovej siete zobrazuje ako „Public" namiesto „DomainAuthenticated", Group Policy sa neaplikujú správne, sieťové zdieľania nemusia fungovať a Windows Firewall používa reštiktívnejší profil. Stretol som sa s tým viackrát a takmer vždy to spôsobovalo pomalé DNS rozlíšenie doménového radiča pri štarte. Frustrujúce, ale dá sa to opraviť.

3. Diagnostika DNS problémov — najčastejší sieťový problém na helpdesku

Symptómy DNS problémov

DNS problémy sú zákerné, pretože sa prejavujú rôznymi spôsobmi, ktoré nemusia byť na prvý pohľad zrejmé:

  • Webové stránky sa nenačítavajú, ale ping na IP adresu funguje
  • Prihlásenie do domény trvá dlho alebo zlyhá s chybou „The trust relationship between this workstation and the primary domain failed"
  • Outlook sa nemôže pripojiť k Exchange serveru
  • Mapované sieťové disky sú neprístupné podľa mena, ale fungujú cez IP
  • Group Policy sa neaplikujú — počítač nevidí doménový radič

Ak niečo z tohto vyzerá povedome, čítajte ďalej.

Systematický postup diagnostiky DNS

# Krok 1: Kontrola DNS konfigurácie
Get-DnsClientServerAddress -InterfaceAlias "Ethernet" | Format-List

# Krok 2: Test rozlíšenia interných mien
Resolve-DnsName dc01.firma.local
Resolve-DnsName _ldap._tcp.dc._msdcs.firma.local -Type SRV

# Krok 3: Test rozlíšenia externých mien
Resolve-DnsName www.microsoft.com

# Krok 4: Porovnanie s iným DNS serverom
Resolve-DnsName www.microsoft.com -Server 8.8.8.8

# Krok 5: Kontrola DNS cache
Get-DnsClientCache | Where-Object { $_.Entry -like "*firma*" }

# Krok 6: Vyčistenie a opätovná registrácia
Clear-DnsClientCache
Register-DnsClient

# Krok 7: Kontrola DNS zón na serveri (vyžaduje RSAT)
Get-DnsServerZone -ComputerName dc01 | Format-Table ZoneName, ZoneType, IsDsIntegrated

Časté DNS problémy a ich riešenia

Problém 1: Počítač používa nesprávny DNS server

Toto je prekvapivo častý problém, najmä na počítačoch s viacerými sieťovými adaptérmi (napr. Ethernet + Wi-Fi + VPN). Windows môže prednostne používať DNS server z nesprávneho adaptéra a vy si budete lámať hlavu, prečo to nefunguje.

# Kontrola priority DNS serverov
Get-DnsClientNrptPolicy

# Kontrola poradia adaptérov
Get-NetIPInterface | Sort-Object InterfaceMetric | Format-Table InterfaceAlias, InterfaceMetric, AddressFamily

# Nastavenie metriky adaptéra (nižšia = vyššia priorita)
Set-NetIPInterface -InterfaceAlias "Ethernet" -InterfaceMetric 10
Set-NetIPInterface -InterfaceAlias "Wi-Fi" -InterfaceMetric 50

Problém 2: Zastaralé DNS záznamy (Stale Records)

Ak sa server presunul na novú IP adresu, ale DNS záznam sa neaktualizoval, klienti sa pokúšajú pripojiť na starú adresu. Klasický „funguje to cez IP, ale nie cez meno" scenár.

# Kontrola TTL a veku záznamu
Resolve-DnsName server01.firma.local -Type A | Format-List *

# Vyčistenie zastaralých záznamov na DNS serveri
# (vyžaduje admin prístup na DNS serveri)
$zone = "firma.local"
$staleRecords = Get-DnsServerResourceRecord -ZoneName $zone -ComputerName dc01 |
    Where-Object { $_.Timestamp -and $_.Timestamp -lt (Get-Date).AddDays(-14) }
$staleRecords | Format-Table HostName, RecordType, Timestamp

Problém 3: DNS Suffix Search List nie je správne nakonfigurovaný

Používatelia hlásia, že sa nemôžu pripojiť na server zadaním krátkeho mena (napr. „server01" namiesto „server01.firma.local"). Toto je jednoduchý fix, keď viete, kde hľadať.

# Kontrola DNS Suffix Search List
Get-DnsClientGlobalSetting | Select-Object SuffixSearchList

# Nastavenie cez PowerShell
Set-DnsClientGlobalSetting -SuffixSearchList @("firma.local", "dev.firma.local")

4. DHCP diagnostika — keď počítač nedostane IP adresu

Typické príznaky DHCP problémov

DHCP problémy sa prejavujú jedným z dvoch spôsobov: buď počítač dostane APIPA adresu (169.254.x.x), alebo dostane adresu z nesprávneho rozsahu. Keď vidíte 169.254 na začiatku, viete hneď, že DHCP server neodpovedal.

# Kontrola aktuálnej IP konfigurácie
Get-NetIPAddress -InterfaceAlias "Ethernet" | Format-List IPAddress, PrefixLength, PrefixOrigin

# Ak vidíte PrefixOrigin = WellKnown a adresu 169.254.x.x = DHCP problém

# Test DHCP servera
Test-NetConnection -ComputerName dhcp01 -Port 67

# Obnovenie DHCP lease
ipconfig /release "Ethernet"
ipconfig /renew "Ethernet"

# Detailné informácie o DHCP lease
Get-NetIPAddress -InterfaceAlias "Ethernet" -AddressFamily IPv4 |
    Select-Object IPAddress, PrefixLength, ValidLifetime, PreferredLifetime

Diagnostika na DHCP serveri

# Kontrola rozsahu adries (vyžaduje RSAT)
Get-DhcpServerv4Scope -ComputerName dhcp01 | Format-Table ScopeId, Name, StartRange, EndRange, State

# Kontrola voľných adries v rozsahu
Get-DhcpServerv4ScopeStatistics -ComputerName dhcp01 | Format-Table ScopeId, Free, InUse, PercentageInUse

# Vyhľadanie konkrétneho zariadenia podľa MAC adresy
Get-DhcpServerv4Lease -ComputerName dhcp01 -ScopeId "10.0.1.0" |
    Where-Object { $_.ClientId -like "*AA-BB-CC*" }

# Kontrola konfliktov IP adries
Get-DhcpServerv4Lease -ComputerName dhcp01 -ScopeId "10.0.1.0" |
    Group-Object IPAddress | Where-Object { $_.Count -gt 1 }

# Kontrola DHCP servera v Active Directory
Get-DhcpServerInDC

Bežné DHCP scenáre na helpdesku

Scenár: Vyčerpaný rozsah adries

Ak je DHCP rozsah plný, nové zariadenia jednoducho nedostanú adresu. Toto sa stáva najmä v sieťach s krátkym lease time a veľkým počtom zariadení — návštevnícke Wi-Fi siete sú na toto obzvlášť náchylné.

# Kontrola využitia DHCP rozsahu
Get-DhcpServerv4ScopeStatistics -ComputerName dhcp01 |
    Where-Object { $_.PercentageInUse -gt 80 } |
    Format-Table ScopeId, Free, InUse, PercentageInUse

# Vyčistenie neaktívnych lease
# POZOR: Robte to len po konzultácii s network adminom
Get-DhcpServerv4Lease -ComputerName dhcp01 -ScopeId "10.0.1.0" |
    Where-Object { $_.LeaseExpiryTime -lt (Get-Date) }

5. VPN diagnostika — Always On VPN, IKEv2 a migrácia z SSTP

Veľká zmena v roku 2026: Koniec SSTP na Azure VPN Gateway

Toto je dôležité, tak si to prečítajte pozorne. Ak vaša organizácia používa Azure VPN Gateway s protokolom SSTP, máte pred sebou dôležitý deadline. Microsoft oznámil ukončenie podpory SSTP s nasledovným harmonogramom:

  • 31. marec 2026: SSTP nebude možné aktivovať na nových ani existujúcich bránach
  • 31. marec 2027: Existujúce SSTP pripojenia prestanú fungovať

Odporúčaná migračná cesta je prechod na IKEv2 alebo OpenVPN. Dobrá správa je, že od novembra 2025 aj Basic SKU podporuje IKEv2, takže migrácia je možná bez zmeny SKU. Ale nepodceňujte to — testovanie si vyžaduje čas.

Diagnostika Always On VPN

Always On VPN je najrozšírenejšie podnikové VPN riešenie na Windows 11. Tu sú najčastejšie problémy a ich diagnostika:

# Kontrola stavu VPN pripojenia
Get-VpnConnection | Format-List Name, ServerAddress, TunnelType, ConnectionStatus, AuthenticationMethod

# Kontrola VPN profilu
Get-VpnConnection -Name "Firma VPN" | Format-List *

# Kontrola VPN udalostí v Event Log
Get-WinEvent -LogName "Microsoft-Windows-RasClient/Operational" -MaxEvents 20 |
    Format-Table TimeCreated, Id, Message -Wrap

# Kontrola RAS logov
Get-WinEvent -FilterHashtable @{
    LogName = "Application"
    ProviderName = "RasClient"
    StartTime = (Get-Date).AddHours(-4)
} | Format-Table TimeCreated, Message -Wrap

Najčastejšie VPN chyby a ich riešenia

Chyba 809: Nemožno nadviazať sieťové pripojenie

Táto chyba zvyčajne znamená, že IKEv2 pakety sú blokované firewallom. IKEv2 vyžaduje porty UDP 500 a UDP 4500 — a to je to prvé, čo musíte skontrolovať.

# Test portov potrebných pre IKEv2
Test-NetConnection -ComputerName vpn.firma.sk -Port 500 -InformationLevel Detailed
Test-NetConnection -ComputerName vpn.firma.sk -Port 4500 -InformationLevel Detailed

# Kontrola Windows Firewall pravidiel pre VPN
Get-NetFirewallRule | Where-Object {
    $_.DisplayName -like "*VPN*" -or $_.DisplayName -like "*IKE*" -or $_.DisplayName -like "*ISAKMP*"
} | Format-Table DisplayName, Enabled, Action, Direction

Chyba 13801: Certifikát IKE autentifikácie je neplatný

Problém s certifikátom je jednou z najčastejších príčin zlyhania VPN pripojenia. Certifikát musí spĺňať konkrétne požiadavky a stačí, aby jedna vec nesedela, a celé to padne.

# Kontrola certifikátov v počítači
Get-ChildItem Cert:\LocalMachine\My | Format-Table Subject, Thumbprint, NotAfter

# Kontrola certifikátov v úložisku používateľa
Get-ChildItem Cert:\CurrentUser\My | Format-Table Subject, Thumbprint, NotAfter

# Overenie platnosti certifikátu
$cert = Get-ChildItem Cert:\LocalMachine\My | Where-Object { $_.Subject -like "*vpn*" }
$cert | Format-List Subject, Issuer, NotBefore, NotAfter, HasPrivateKey, EnhancedKeyUsageList

# Kontrola reťazca dôvery certifikátu
Test-Certificate -Cert $cert -Policy SSL

Chyba 691: Odmietnutý prístup — nesprávne meno alebo heslo

Táto chyba nie je vždy o heslách, aj keď to tak na prvý pohľad vyzerá. Často súvisí s konfiguráciou NPS (Network Policy Server) alebo Conditional Access politikami.

# Kontrola NPS logov na RADIUS serveri
Get-WinEvent -LogName "Security" -FilterXPath "*[System[EventID=6273]]" -MaxEvents 10 |
    ForEach-Object {
        [PSCustomObject]@{
            Time   = $_.TimeCreated
            User   = ($_.Properties[1]).Value
            Reason = ($_.Properties[7]).Value
        }
    } | Format-Table -Wrap

VPN a Split Tunneling — konfigurácia a diagnostika

Split tunneling určuje, ktorá premávka ide cez VPN tunel a ktorá priamo na internet. Nesprávna konfigurácia môže spôsobiť pomalé pripojenie alebo nedostupnosť interných zdrojov. Úprimne, toto je jedna z vecí, kde sa aj skúsení technici občas zadrhnú.

# Kontrola smerovacích tabuliek počas aktívneho VPN
Get-NetRoute -InterfaceAlias "Firma VPN" | Format-Table DestinationPrefix, NextHop, RouteMetric

# Kontrola, či konkrétna adresa ide cez VPN
Find-NetRoute -RemoteIPAddress "10.0.1.50" | Format-Table InterfaceAlias, NextHop

# Pridanie manuálnej trasy pre konkrétnu podsieť
Add-VpnConnectionRoute -ConnectionName "Firma VPN" -DestinationPrefix "10.10.0.0/16"

# Kontrola DNS nastavení VPN pripojenia
Get-VpnConnection -Name "Firma VPN" | Select-Object -ExpandProperty DnsSuffix

6. Wi-Fi diagnostika v podnikovom prostredí — 802.1X a certifikáty

802.1X autentifikácia — kde to zvyčajne zlyhá

Podnikové Wi-Fi siete typicky používajú 802.1X autentifikáciu s certifikátmi alebo používateľskými prihlasovacími údajmi. V prostredí Windows 11 sa stretávame s niekoľkými špecifickými problémami, ktoré vás dokážu riadne potrápiť.

Problém: Device Guard blokuje 802.1X autentifikáciu

Na Windows 11 zariadeniach s povoleným Device Guard (Virtualization-Based Security) sa môžu vyskytnúť problémy s 802.1X autentifikáciou. Riešenie vyžaduje úpravu Group Policy:

# Kontrola stavu Device Guard / Credential Guard
Get-CimInstance -ClassName Win32_DeviceGuard -Namespace root\Microsoft\Windows\DeviceGuard |
    Select-Object SecurityServicesRunning, VirtualizationBasedSecurityStatus

# Ak je povolený Credential Guard a 802.1X nefunguje,
# je potrebné vytvoriť výnimku v GPO:
# Computer Configuration > Policies > Administrative Templates >
# System > Device Guard > Turn On Virtualization Based Security
# > Credential Guard Configuration: "Disabled"

Problém: NIC driver upgrade vymaže 802.1X nastavenia

Toto je nepríjemné — pri aktualizácii ovládačov sieťových kariet na Windows 11 sa môžu stratiť nastavenia 802.1X autentifikácie aplikované cez Group Policy. Je to známy problém, ktorý sa prejavuje po Windows Update alebo pri ručnej aktualizácii ovládačov. A keď sa vám to stane u desiatich používateľov naraz, máte veselý deň.

# Kontrola 802.1X služby
Get-Service dot3svc | Format-List Name, Status, StartType

# Reštart 802.1X služby
Restart-Service dot3svc -Force

# Kontrola Wi-Fi logov
Get-WinEvent -LogName "Microsoft-Windows-WLAN-AutoConfig/Operational" -MaxEvents 20 |
    Where-Object { $_.LevelDisplayName -eq "Error" -or $_.LevelDisplayName -eq "Warning" } |
    Format-Table TimeCreated, LevelDisplayName, Message -Wrap

# Export Wi-Fi profilu pre analýzu
netsh wlan show profiles
netsh wlan show profile name="FirmaWiFi" key=clear

# Generovanie Wi-Fi diagnostického reportu
netsh wlan show wlanreport

Príkaz netsh wlan show wlanreport vygeneruje HTML report v priečinku C:\ProgramData\Microsoft\Windows\WlanReport\. Obsahuje grafickú vizualizáciu histórie Wi-Fi pripojení, dôvody odpojení a chyby — je to úplne najlepší nástroj na diagnostiku intermitentných Wi-Fi problémov. Vážne, ak ho ešte nepoužívate, začnite.

Diagnostika certifikátov pre Wi-Fi

Certifikáty sú najčastejšou príčinou zlyhania 802.1X autentifikácie. Tu je kompletný postup na ich overenie:

# Kontrola používateľských certifikátov pre EAP-TLS
Get-ChildItem Cert:\CurrentUser\My | Where-Object {
    $_.EnhancedKeyUsageList.FriendlyName -contains "Client Authentication"
} | Format-Table Subject, NotAfter, Thumbprint

# Kontrola strojových certifikátov
Get-ChildItem Cert:\LocalMachine\My | Where-Object {
    $_.EnhancedKeyUsageList.FriendlyName -contains "Client Authentication"
} | Format-Table Subject, NotAfter, Thumbprint

# Kontrola dôveryhodných koreňových certifikačných autorít
Get-ChildItem Cert:\LocalMachine\Root | Where-Object {
    $_.Subject -like "*FirmaCA*"
} | Format-List Subject, NotAfter, Thumbprint

# Povolenie CAPI2 logovania pre detailnú diagnostiku certifikátov
wevtutil set-log Microsoft-Windows-CAPI2/Operational /enabled:true

# Čítanie CAPI2 logov
Get-WinEvent -LogName "Microsoft-Windows-CAPI2/Operational" -MaxEvents 20 |
    Format-Table TimeCreated, Message -Wrap

7. Kompletný reset sieťového zásobníka — keď nič iné nepomáha

Kedy pristúpiť k resetu

Niekedy je sieťový zásobník Windows natoľko poškodený, že jednotlivé diagnostické kroky nepomáhajú. Skúsili ste všetko, nič nezaberá. V takom prípade je čas na kompletný reset. Pozor: Tieto kroky vyžadujú reštart počítača a vymazanie všetkých sieťových nastavení — takže používateľa najprv upozornite.

# UPOZORNENIE: Nasledujúce príkazy vyžadujú oprávnenie správcu
# a reštart počítača

# 1. Vyčistenie DNS cache
ipconfig /flushdns

# 2. Opätovná registrácia DNS
ipconfig /registerdns

# 3. Uvoľnenie DHCP adresy
ipconfig /release

# 4. Reset Winsock katalógu (opravuje poškodené socket nastavenia)
netsh winsock reset

# 5. Reset TCP/IP zásobníka
netsh int ip reset

# 6. Reset Firewall na predvolené nastavenia
# POZOR: Toto vymaže všetky vlastné pravidlá!
# netsh advfirewall reset

# 7. Obnovenie DHCP adresy
ipconfig /renew

# 8. POVINNÝ REŠTART
Restart-Computer -Force

V PowerShell existuje aj elegantnejší spôsob:

# Kompletný sieťový reset cez PowerShell
Reset-NetAdapterAdvancedProperty -Name "Ethernet" -DisplayName *
Restart-NetAdapter -Name "Ethernet"

# Alebo cez Windows Settings (programmaticky)
# Settings > Network & Internet > Advanced network settings > Network reset
Start-Process "ms-settings:network-status"

Skript pre automatizovanú diagnostiku

Tu je kompletný diagnostický skript, ktorý môžete spustiť na počítači používateľa a vygenerovať komplexný report. Používam ho takmer denne — ušetrí neuveriteľné množstvo času.

# Diagnostický skript pre helpdesk
# Uložte ako Diagnose-Network.ps1

$reportPath = "$env:TEMP\NetworkDiagnostics_$(Get-Date -Format 'yyyyMMdd_HHmmss').txt"

function Write-Section {
    param([string]$Title)
    "`n$('=' * 60)" | Out-File $reportPath -Append
    $Title | Out-File $reportPath -Append
    "$('=' * 60)" | Out-File $reportPath -Append
}

# Hlavička
"Sieťová diagnostika - $(Get-Date)" | Out-File $reportPath
"Počítač: $env:COMPUTERNAME" | Out-File $reportPath -Append
"Používateľ: $env:USERNAME" | Out-File $reportPath -Append

Write-Section "SIEŤOVÉ ADAPTÉRY"
Get-NetAdapter | Format-Table Name, Status, LinkSpeed, MacAddress | Out-File $reportPath -Append

Write-Section "IP KONFIGURÁCIA"
Get-NetIPConfiguration | Out-File $reportPath -Append

Write-Section "DNS KONFIGURÁCIA"
Get-DnsClientServerAddress | Format-Table InterfaceAlias, ServerAddresses | Out-File $reportPath -Append

Write-Section "DNS ROZLÍŠENIE"
try {
    Resolve-DnsName $env:USERDNSDOMAIN -ErrorAction Stop | Out-File $reportPath -Append
} catch {
    "DNS rozlíšenie domény zlyhalo: $_" | Out-File $reportPath -Append
}

Write-Section "SIEŤOVÝ PROFIL"
Get-NetConnectionProfile | Format-List | Out-File $reportPath -Append

Write-Section "VPN PRIPOJENIA"
Get-VpnConnection | Format-List | Out-File $reportPath -Append

Write-Section "SMEROVACIE TABUĽKY"
Get-NetRoute -AddressFamily IPv4 | Where-Object { $_.NextHop -ne "0.0.0.0" } |
    Format-Table DestinationPrefix, NextHop, InterfaceAlias | Out-File $reportPath -Append

Write-Section "TEST KONEKTIVITY"
$targets = @(
    @{Name="Gateway"; Target=(Get-NetRoute -DestinationPrefix "0.0.0.0/0").NextHop | Select-Object -First 1},
    @{Name="DNS Server"; Target=(Get-DnsClientServerAddress -AddressFamily IPv4).ServerAddresses | Select-Object -First 1},
    @{Name="Internet"; Target="8.8.8.8"}
)
foreach ($t in $targets) {
    $result = Test-NetConnection -ComputerName $t.Target -WarningAction SilentlyContinue
    $status = if($result.PingSucceeded){"OK"}else{"ZLYHANIE"}
    "$($t.Name) ($($t.Target)): $status" | Out-File $reportPath -Append
}

Write-Host "Report uložený: $reportPath"
Invoke-Item $reportPath

8. Praktické scenáre z helpdesku — riešenia krok za krokom

Scenár 1: „Nemôžem sa pripojiť na sieťový disk"

Toto je pravdepodobne najčastejší tiket na helpdesku. Dostávam ho minimálne trikrát do týždňa. Tu je systematický postup, ktorý funguje:

# 1. Kontrola, či je server dostupný
Test-NetConnection -ComputerName fileserver01 -Port 445

# 2. Ak port 445 nie je otvorený, skontrolujte firewall
# Ak ping funguje ale port 445 nie, problém je vo firewalle

# 3. Kontrola DNS rozlíšenia
Resolve-DnsName fileserver01.firma.local

# 4. Kontrola SMB pripojenia
Get-SmbConnection | Format-Table ServerName, ShareName, UserName

# 5. Test prístupu na zdieľanie
Test-Path "\\fileserver01\zdielanie"

# 6. Kontrola Kerberos tiketov
klist

# 7. Ak sú tikety expirované alebo chýbajú
klist purge
# Potom znova mapovať disk alebo otvoriť zdieľanie

Scenár 2: „Internet je pomalý"

Sťažnosti na pomalý internet sú síce vágne, ale dajú sa systematicky diagnostikovať. Kľúč je nepredpokladať a metodicky postupovať:

# 1. Kontrola rýchlosti sieťového adaptéra
Get-NetAdapter | Select-Object Name, LinkSpeed
# Ak vidíte 100 Mbps namiesto 1 Gbps, problém je v kábli alebo porte

# 2. Kontrola chybovosti na adaptéri
Get-NetAdapterStatistics | Format-Table Name, ReceivedUnicastPackets, OutboundDiscardedPackets, OutboundPacketErrors

# 3. Test latencie
Test-NetConnection -ComputerName 8.8.8.8 | Select-Object PingReplyDetails

# 4. PathPing pre identifikáciu bottlenecku
pathping -n 8.8.8.8

# 5. Kontrola proxy nastavení
Get-ItemProperty "HKCU:\Software\Microsoft\Windows\CurrentVersion\Internet Settings" |
    Select-Object ProxyServer, ProxyEnable, AutoConfigUrl

# 6. Kontrola aktívnych sieťových pripojení
Get-NetTCPConnection -State Established | Group-Object RemoteAddress |
    Sort-Object Count -Descending | Select-Object Count, Name -First 15

Scenár 3: „VPN sa stále odpojuje"

Intermitentné odpojenia VPN sú frustrujúce pre používateľov aj technikov. Najhoršie je, keď sa to nedá reprodukovať na požiadanie. Tu je postup, ktorý mi pomáha:

# 1. Kontrola VPN stratégie
$vpn = Get-VpnConnection -Name "Firma VPN"
$vpn | Select-Object Name, TunnelType, AuthenticationMethod, SplitTunneling

# 2. Kontrola stability základného pripojenia
# Spustite v pozadí počas práce s VPN
Test-Connection -ComputerName 8.8.8.8 -Count 1000 -Delay 2 |
    Where-Object { $_.StatusCode -ne 0 } |
    ForEach-Object { "$(Get-Date): Strata paketu" }

# 3. Kontrola Event Logov pre VPN odpojenia
Get-WinEvent -FilterHashtable @{
    LogName = "Application"
    ProviderName = "RasClient"
    Level = 2
    StartTime = (Get-Date).AddDays(-1)
} | Format-Table TimeCreated, Message -Wrap

# 4. Kontrola napájacích nastavení sieťového adaptéra
# Úsporný režim môže vypínať Wi-Fi adaptér
Get-NetAdapter | ForEach-Object {
    $power = Get-NetAdapterPowerManagement -Name $_.Name -ErrorAction SilentlyContinue
    [PSCustomObject]@{
        Adapter       = $_.Name
        AllowStandby  = $power.AllowComputerToTurnOffDevice
    }
}

Mimochodom, ten bod 4 o napájacích nastaveniach — to je častejší vinník, než by ste čakali. Laptopoví používatelia s tým majú problémy neustále.

9. Monitorovanie a proaktívna diagnostika

PowerShell skripty pre pravidelné kontroly

Namiesto čakania na tikety (a potom hasenia požiarov) môžete nastaviť proaktívne monitorovanie kritických sieťových služieb:

# Monitoring kritických serverov
$servers = @(
    @{Name="DC01"; IP="10.0.0.10"; Ports=@(389, 636, 88, 53)},
    @{Name="Exchange"; IP="10.0.0.20"; Ports=@(443, 25)},
    @{Name="FileServer"; IP="10.0.0.30"; Ports=@(445)},
    @{Name="VPN Gateway"; IP="vpn.firma.sk"; Ports=@(443, 500, 4500)}
)

$results = foreach ($server in $servers) {
    foreach ($port in $server.Ports) {
        $test = Test-NetConnection -ComputerName $server.IP -Port $port -WarningAction SilentlyContinue
        [PSCustomObject]@{
            Server = $server.Name
            IP     = $server.IP
            Port   = $port
            Status = if ($test.TcpTestSucceeded) { "OK" } else { "NEDOSTUPNY" }
            Latency = $test.PingReplyDetails.RoundtripTime
        }
    }
}

# Zobrazenie výsledkov
$results | Format-Table -AutoSize

# Zvýraznenie problémov
$problems = $results | Where-Object { $_.Status -eq "NEDOSTUPNY" }
if ($problems) {
    Write-Host "`nPROBLEMY DETEKOVANE:" -ForegroundColor Red
    $problems | Format-Table -AutoSize
}

Integrácia s helpdesk systémom

Moderné helpdesk systémy umožňujú automatizovať vytvorenie tiketu pri detekcii problému. Tu je príklad, ako poslať upozornenie cez webhook (napríklad do Microsoft Teams):

# Príklad webhook notifikácie do Microsoft Teams
function Send-TeamsAlert {
    param(
        [string]$Server,
        [int]$Port,
        [string]$WebhookUrl
    )

    $body = @{
        "@type"    = "MessageCard"
        summary    = "Sietovy alarm"
        themeColor = "FF0000"
        title      = "Nedostupna sluzba: $Server : $Port"
        text       = "Automaticka kontrola zistila, ze server **$Server** na porte **$Port** je nedostupny. Cas: $(Get-Date -Format 'dd.MM.yyyy HH:mm:ss')"
    } | ConvertTo-Json

    Invoke-RestMethod -Uri $WebhookUrl -Method Post -Body $body -ContentType "application/json"
}

10. Zhrnutie a odporúčania pre helpdesk tímy

Kontrolný zoznam pre sieťovú diagnostiku

Na záver tu máte štruktúrovaný prístup k sieťovej diagnostike, ktorý môžete použiť pri každom tikete. Vytlačte si ho, pripnite na stenu — vážne pomáha:

  1. Fyzická vrstva: Je kábel pripojený? Bliká LED na sieťovej karte? Aká je Link Speed?
  2. IP konfigurácia: Má počítač správnu IP adresu? Nie je to APIPA (169.254.x.x)?
  3. DNS: Funguje rozlíšenie mien? Sú nakonfigurované správne DNS servery?
  4. Konektivita: Pingá sa gateway? Pingá sa cieľový server?
  5. Porty: Je cieľová služba dostupná na správnom porte?
  6. Autentifikácia: Sú Kerberos tikety platné? Funguje certifikát?
  7. Aplikačná vrstva: Je problém v konfigurácii aplikácie?

Dôležité zmeny v roku 2026, na ktoré treba pamätať

  • SSTP na Azure VPN Gateway — nové aktivácie zablokované od 31. marca 2026, existujúce pripojenia do 31. marca 2027. Plánujte migráciu na IKEv2.
  • Windows 11 25H2 — zmeny v správaní DNS klienta a sieťových profilov. Testujte Group Policy po aktualizácii.
  • 802.1X a Device Guard — ak nasadzujete Virtualization-Based Security, testujte kompatibilitu s Wi-Fi autentifikáciou.
  • PowerShell 7.x — niektoré sieťové cmdlety sa správajú odlišne oproti Windows PowerShell 5.1. Pre sieťovú diagnostiku odporúčam zostať pri Windows PowerShell.

Sieťová diagnostika je oblasť, ktorá si vyžaduje neustále vzdelávanie. Protokoly sa menia, objavujú sa nové zraniteľnosti a nástroje sa vyvíjajú. Udržiavajte si prehľad, praktikujte príkazy v testovacom prostredí a — čo je najdôležitejšie — dokumentujte riešenia, ktoré fungujú vo vašom konkrétnom prostredí. Každá sieť je trochu iná a to, čo funguje u jedného zákazníka, nemusí fungovať u druhého.

Dúfam, že vám tento sprievodca ušetrí nejaký čas pri riešení sieťových problémov. A ak máte vlastné tipy alebo skripty, ktoré vám dobre fungujú, zdieľajte ich s kolegami — o tom celý ten helpdesk je.

O Autorovi Editorial Team

Our team of expert writers and editors.