Field workflow to isolate Windows network failures across link, DHCP, IP, DNS, routing, firewall and application layers.
Diagnostic order
- 1. Link — Get-NetAdapter | Select-Object Name,Status,LinkSpeedStart by confirming the expected interface is Up.
- 2. IP address — ipconfig /allCheck DHCP, mask, gateway and DNS before Internet tests.
- 3. Gateway — ping 192.168.1.1If the gateway fails, stay focused on LAN before blaming WAN.
- 4. Service — Test-NetConnection serveur.exemple.local -Port 443An application port test is more meaningful than ping alone.
DHCP & addressing
- IP details — ipconfig /allCheck DHCP Enabled, DHCP Server, lease, gateway and DNS.
- Release lease — ipconfig /releaseIntentionally drops the DHCP lease; avoid on remote-only sessions.
- Renew lease — ipconfig /renewImmediately tests communication with DHCP.
- APIPA — 169.254.0.0/16A 169.254.x.x address usually means no IPv4 DHCP lease was obtained.
DNS
- Configured DNS — Get-DnsClientServerAddress -AddressFamily IPv4Verify expected DNS servers are configured on the active interface.
- A/AAAA resolution — Resolve-DnsName exemple.frShows responses and the resolver used.
- Specific DNS server — Resolve-DnsName exemple.fr -Server 192.168.1.10Compares resolvers without changing client configuration.
- Flush cache — ipconfig /flushdnsUse after fixing a record or cached negative response.
Routes & neighbors
- Routing table — route printCheck default route and more specific routes.
- PowerShell routes — Get-NetRoute -AddressFamily IPv4 | Sort-Object RouteMetricShows interface, metric and next hop.
- ARP cache — arp -aChecks whether gateway or LAN peers resolve to MAC addresses.
- Traceroute — tracert 8.8.8.8Shows where traffic stops progressing; not every router answers ICMP.
Ports & sockets
- Remote port — Test-NetConnection 192.168.1.20 -Port 445Tests TCP establishment to the target service.
- Local listeners — Get-NetTCPConnection -State Listen | Sort-Object LocalPortConfirms a local service is actually listening.
- Established connections — Get-NetTCPConnection -State Established | Select-Object LocalAddress,LocalPort,RemoteAddress,RemotePort,OwningProcessMap OwningProcess to Get-Process to identify the application.
- PID by port — Get-NetTCPConnection -LocalPort 443 -ErrorAction SilentlyContinue | Select-Object OwningProcessUseful when a port is unexpectedly occupied.
SMB & shares
- Test SMB — Test-NetConnection serveur -Port 445Separates SMB issues from general DNS issues.
- Mapped shares — Get-SmbMappingLists client-side SMB mappings.
- Server sessions — Get-SmbSessionRun on a file server to view connected clients.
- SMB dialect — Get-SmbConnection | Select-Object ServerName,ShareName,Dialect,EncryptedChecks SMB dialect and effective encryption.
Wi-Fi
- Wi-Fi interface — netsh wlan show interfacesShows SSID, BSSID, signal, channel and negotiated rate.
- Wi-Fi profiles — netsh wlan show profilesLists known profiles without exposing secrets.
- WLAN report — netsh wlan show wlanreportGenerates an HTML report for drops and association failures.
- Driver info — Get-NetAdapter -Name Wi-Fi | Format-List Name,InterfaceDescription,DriverInformation,DriverVersionCompare driver version with the vendor recommendation.
Controlled resets
- DNS cache — ipconfig /flushdnsLow-impact reset.
- Winsock — netsh winsock resetUsually requires reboot and may affect network agents.
- IP stack — netsh int ip reset C:\Temp\ip-reset.logReserve for suspected stack corruption after capturing current config.
- Firewall profiles — Get-NetFirewallProfile | Select-Object Name,Enabled,DefaultInboundAction,DefaultOutboundActionDo not disable the firewall globally just to test.
Key points
- Start with link and addressing before DNS or Internet.
- Blocked ping does not prove a TCP service is unavailable.
- On AD members, directly configured public DNS is a common domain issue.
- Before Winsock/IP resets, capture configuration and keep fallback access.