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-SmbServerNetworkInterface
Production checklist: capture the original state, test one dependency at a time, make the smallest controlled change and validate the original symptom before closing the incident.

What good troubleshooting looks like

Use evidence before configuration changes. Record the symptom, test result, change made and validation result so another engineer can repeat the procedure.

Workflow
Symptom → hypothesis → direct test → controlled change → validation → documentation

Frequently asked questions

What should I check first?

Start with the exact failed path or dependency and test it directly before changing configuration.

Should I change production configuration immediately?

No. Capture the current state first and make one controlled change at a time.

How should I document the fix?

Record the symptom, commands, result, configuration change and validation result.

Related TechRunbook guides

Primary reference

This guide was independently written for TechRunbook. Technical details were checked against current Microsoft documentation. Microsoft Learn reference →

Need more infrastructure runbooks?

Explore the TechRunbook article library for Windows Server, VMware, Hyper-V, Azure, PowerShell and MABS troubleshooting.

Browse all articles →