先确认网络连通性与dns解析,再检查server、workstation等关键服务状态,必要时启用smbv1协议、清除dns/netbios缓存,并确保防火墙放行smb端口(tcp 445)。

局域网内访问共享文件夹或打印机时突然弹出“指定的网络名不再可用”,不是网络断了也不是对方关机,而是系统在底层通信环节卡住了——常见于SMB协议不匹配、关键服务暂停或DNS解析失联,必须逐层定位才能恢复访问。
先确认是不是基础网络问题
打开命令提示符(Win+R → 输入cmd → 回车),执行:
ping -n 3 【目标共享设备的IP地址】
如果全部超时,说明物理链路或IP配置异常,需检查网线、Wi-Fi连接、子网掩码是否一致;若能通但依然报错,则问题出在更高层。
接着运行:
nslookup 【目标共享设备的计算机名】
比如 nslookup FILE-SERVER。如果返回“*** 请求超时”或“无法解析”,说明DNS没把计算机名转成IP,后续所有SMB连接都会失败。
检查并重启关键Windows服务
按 Win+R → 输入 services.msc → 回车,找到以下三项服务,逐个右键→属性:
方法一:Server服务
启动类型设为【自动(延迟启动)】,状态为“正在运行”。这是提供共享功能的核心服务,【一旦停止,本机所有共享资源对外不可见】。
方法二:Workstation服务
同样设为自动(延迟启动),确保状态正常。它负责发起对外共享的连接请求,XP/Win7时代常被忽略,但在Win10/Win11中仍是SMB客户端通信基础。
方法三:Computer Browser(仅限传统工作组环境)
该服务在较新系统中默认禁用,但如果局域网内有旧设备(如Win7或NAS),且网络位置设为“专用”以外的类型,启用它有助于主机发现列表刷新。注意:Win11 22H2+版本已移除此服务,无需强求。
强制启用SMBv1协议(针对老旧设备互通)
第一步:判断是否需要开启SMBv1
如果你正用Win10/Win11访问XP共享,或Win11连接某款老型号网络打印机(如HP LaserJet M1522nf),而对方只支持SMBv1,那系统默认禁用该协议就是罪魁祸首——错误代码0x00000040正是典型表现。
第二步:以管理员身份运行PowerShell
右键开始按钮 → 选择“Windows PowerShell(管理员)”,粘贴执行:
Enable-WindowsOptionalFeature -Online -FeatureName SMB1Protocol -NoRestart
第三步:重启生效
执行完后手动重启电脑。不重启的话,SMBv1仍处于未加载状态,共享访问依旧失败。
⚠️ 注意:启用后若长期不用老旧设备,建议用 Disable-WindowsOptionalFeature 命令关闭,避免安全风险。
清除本地DNS与NetBIOS缓存
在管理员权限的CMD窗口中依次执行:
ipconfig /flushdns
nbtstat -R
这两条命令分别清空DNS解析记录和NetBIOS名称缓存。有些机器在IP变更或主机名重复后,旧缓存会持续干扰数小时,导致“名字能ping通但共享打不开”的怪现象。
执行完立即测试,无需重启。
验证防火墙是否放行SMB端口
Win+R → firewall.cpl → 打开“高级安全Windows Defender防火墙” → 左侧点“入站规则” → 右侧滚动查找“文件和打印机共享(回显请求 - ICMPv4-In)”和“文件和打印机共享(SMB-In)”这两条规则。
确保它们的状态是“已启用”。如果被禁用,右键→启用规则。SMB依赖TCP 445端口,而部分精简版防火墙或第三方安全软件会默认封锁该端口,造成连接被静默拒绝。











