Start with the client/server model
The computer hosting the file system is the SMB server. The computer requesting the share is the SMB client. Identify both before testing. A successful ping does not prove that SMB is working because SMB depends on TCP connectivity, protocol negotiation and authentication.
Validate the path and TCP connectivity
Test the name and the SMB port separately. Start with Resolve-DnsName fileserver.example.local, then use Test-NetConnection fileserver.example.local -Port 445. If TCP 445 fails, investigate routing, firewall rules and the listening service before changing share permissions.
Check the SMB services and shares
On the server, review the Server service and enumerate shares with Get-SmbShare. From the client, review active sessions with Get-SmbConnection. This separates a share-definition problem from a transport problem.
Check SMB version and security
Modern Windows versions use SMBv2/v3. Avoid enabling SMBv1 as a first troubleshooting step. If an old appliance requires SMBv1, treat the compatibility requirement as a separate remediation task and plan to upgrade the legacy endpoint.
Investigate performance
For slow transfers, check network adapter state, storage latency, CPU and SMB multichannel behavior. On supported systems, inspect Get-SmbClientNetworkInterface and Get-SmbServerNetworkInterface. Capture network traffic when the symptom cannot be explained by host-level checks.
Safe resolution order
Test DNS → TCP 445 → SMB session → share permissions → NTFS permissions → authentication → performance. Change one variable at a time and retest the original operation.
Useful commands
Resolve-DnsName fileserver.example.local
Test-NetConnection fileserver.example.local -Port 445
Get-SmbShare
Get-SmbConnection
Get-SmbClientNetworkInterface
Get-SmbServerNetworkInterfaceNeed more infrastructure runbooks?
Explore the TechRunbook article library for Windows Server, VMware, Hyper-V, Azure, PowerShell and MABS troubleshooting.
Browse all articles →