Loading

文件或打印机共享常见问题

I. 网络问题排查

1.1 检查客户端网络连通性

客户端(数据接收方)命令行执行:

ping 192.168.x.x

如果 ping 不通,说明网络问题,需要确保两台机器在同一网段,或路由可达。

1.2 检查客户端计算机名解析

可以使用 IP 访问而不是计算机名:

net view \\192.168.x.x

确认服务端计算机名工作组配置正确(同一个工作组)。

1.3 测试客户端共享路径

在客户端使用 IP 访问共享:

net use \\服务端IP\共享名 /user:用户名 密码

如果可以映射,说明 net view 可能被防火墙或服务限制。

1.4 检查服务端是否开启文件共享服务

确保 Server 端(数据发送方)运行了必要的服务:

1.打开服务(services.msc)
2.确认以下服务已启动:

  • Server(服务器)
  • Workstation(工作站)
  • TCP/IP NetBIOS Helper(TCP/IP NetBIOS 辅助)

如果没启动,设置为“自动”并启动。

1.5 检查服务端防火墙设置

Server 端,打开控制面板 → Windows 防火墙 → 允许应用 → “文件和打印机共享”勾选。

1.6 检查服务端共享权限与 NTFS 权限

即便网络通了,如果权限不足,也会导致无法访问。

1.右键共享文件夹 → 属性 → 共享 → 高级共享 → 权限
2.允许 Everyone 或指定用户 读取/写入
3.同时检查 安全 → NTFS 权限

II. 未授予用户在此计算机上的请求登录类型

2.1 报错提示

报错如下图👇

2.2 解决方案

服务端操作

1.在“运行”对话框中输入 secpol.msc 打开“本地安全策略”-> 用户权限分配 -> 找到“从网络访问此计算机”或“拒绝从网络访问这台计算机”。
2.检查一下其中是否出现了 Guest 账户或者其他对应的账户,然后根据不同情况进行添加或者删除。
3.通过以上设置后,如果您想让目标计算机能使用共享,那么进行网络协议的安装便可(参考以下 5.2 章节)。

4.应用策略:关闭组策略编辑器,按 【Win + R】,输入 cmd,然后按 【Ctrl + Shift + Enter】 以管理员身份打开命令提示符。在命令提示符中输入以下命令并回车,强制立即更新组策略:

gpupdate /force

2.3 其它解决方案

参考方案 1:博客园

III. 请检查名称的拼写

3.1 报错提示

报错如下图👇

3.2 解决方案 1

客户端操作:按下【Win + R】打开“运行”对话框,输入 gpedit.msc 打开 “本地组策略编辑器”,启用不安全的来宾登录。

应用策略:关闭组策略编辑器,按 【Win + R】,输入 cmd,然后按 【Ctrl + Shift + Enter】 以管理员身份打开命令提示符。在命令提示符中输入以下命令并回车,强制立即更新组策略:

gpupdate /force

3.3 解决方案 2

1.在客户端测试服务端 445 端口是否开放:

telnet 192.168.x.x 445

或(如果没有 telnet):

Test-NetConnection -ComputerName 192.168.x.x -Port 445

若返回 TcpTestSucceeded : True,说明端口通。若端口不通,请继续下一步操作。

2.在服务端,找到以下服务,确保它们的状态为“正在运行”:

  • Server(LanmanServer):提供共享服务(Server 服务)。
  • Workstation(LanmanWorkstation):提供客户端连接功能。
  • Computer Browser (对于早期版本浏览发现很重要)
  • TCP/IP NetBIOS Helper:支持 NetBIOS 名称解析(旧网络仍需)。

如果任何服务未运行,请右键单击并选择“启动”。建议将这些服务的启动类型设置为“自动”。


命令行操作,以管理员身份打开 PowerShell ,查询相关服务状态:

Get-Service LanmanServer, LanmanWorkstation, "Computer Browser", "TCP/IP NetBIOS Helper"

LanmanServer 未运行,执行:

Start-Service LanmanServer
Set-Service LanmanServer -StartupType Automatic
Restart-Service LanmanServer

3.在服务端查看 445 端口的详细监听情况:

netstat -ano | findstr 445

观察输出结果。您应该会看到类似这样的行:

TCP    0.0.0.0:445           0.0.0.0:0              LISTENING       4
TCP    [::]:445              [::]:0                 LISTENING       4

关键点:如果 本地地址 列显示的是 0.0.0.0:445,表示服务正在所有可用的网络接口上监听。如果它显示的是 127.0.0.1:445 或某个特定IP,说明服务被配置为只在特定地址监听。请继续下一步。

4.服务端操作:完全重置网络栈并重建 SMB 服务,以管理员身份打开 CMD 或 PowerShell ,在命令行中执行以下操作👇

netcfg -d

该命令会删除并重装所有网络组件(相当于“网络初始化”)。执行后请重启计算机

IV. 用户名或密码错误

4.1 报错提示

报错如下图👇

4.2 解决方案 1

服务端操作:删除缓存密码重试。

1.查看当前网络连接

net use

2.删除特定连接

net use \\计算机名\共享名 /delete

3.删除所有网络连接

net use * /delete

4.3 解决方案 2

服务端操作:创建一个尽可能简单的用户名和密码,如:

net user test test /add

在目标共享目录添加相关权限后,重试连接。

4.4 解决方案 3

服务端操作:给已有用户的密码修改为一个简单的密码,操作如下:

1.以管理员身份运行命令提示符 (CMD) 或 PowerShell。
2.输入以下命令:

  • 对于本地用户:
net user 用户名 新密码
  • 对于域用户:
net user 用户名 新密码 /domain

4.5 其它解决方案

或参考其它解决方案:CSDN

V. 操作无法完成(错误0x00000709)

5.1 报错提示

5.2 解决方案

客户端操作:在“运行”对话框中输入 control.exe keymgr.dll 打开“凭据管理器”,添加在源电脑(共享电脑)上的共享账户(服务端名称前不需要添加 \\ ,如果是 Guest 账户,密码可以为空),配置参考如下图👇

VI. Windows 无法连接到打印机

6.1 报错提示

6.2 解决方案

Windows 7 与 Windows 10 及以上,文件或打印机共享需要此方案。

在 Windows 10 及以上操作系统上:按下【Win + R】打开“运行”对话框,输入 OptionalFeatures 打开 “启用或关闭 Windows 功能”,找到并勾选✅SMB1.0/CIFS 文件共享支持,然后点“确定”安装。完成后重启计算机

VII. SMB 协议问题

7.1 检查 SMBv2/SMBv3 协议

1.在 Server 端打开 PowerShell(管理员)。
2.执行以下命令查看 Server 端支持情况:

Get-SmbServerConfiguration | Select EnableSMB1Protocol, EnableSMB2Protocol

输出示例:

EnableSMB1Protocol EnableSMB2Protocol
----------------- -----------------
False              True
  • EnableSMB1Protocol = False → SMBv1 禁用
  • EnableSMB2Protocol = True → SMBv2/SMBv3 启用

注意:在 Windows 中,启用 SMBv2 协议同时也支持 SMBv3,所以 EnableSMB2Protocol = True 就意味着 SMBv2/SMBv3 已启用。

3.查看客户端支持情况:

Get-SmbClientConfiguration | Select EnableSMB1Protocol, EnableSMB2Protocol

7.2 检查 SMBv1 协议

1.在 Server 端打开 PowerShell(管理员)。
2.执行以下命令查看 SMBv1 的客户端和服务器组件的安装状态。

Get-WindowsOptionalFeature -Online -FeatureName SMB1Protocol

输出结果中,重点关注 State 这一行:

  • 如果显示 State : Enabled,则表示 SMBv1 已启用。
  • 如果显示 State : Disabled,则表示 SMBv1 已禁用。

您也可以使用以下命令分别查看客户端和服务器组件的状态:

Get-WindowsOptionalFeature -Online -FeatureName SMB1Protocol-Client
Get-WindowsOptionalFeature -Online -FeatureName SMB1Protocol-Server
  • SMB1Protocol-Client:控制你的电脑是否能访问其他 SMBv1 共享。
  • SMB1Protocol-Server:控制你的电脑是否允许他人通过 SMBv1 访问你的共享。
  • 如果客户端使用老式 SMBv1,确保 Server 端启用 SMBv1:
Enable-WindowsOptionalFeature -Online -FeatureName SMB1Protocol

7.3 SMBv1 协议安装

1.打开“启用或关闭 Windows 功能”:

  • 按下 [Win + R] 键,输入 optionalfeatures 并按回车。

  • 或者在开始菜单搜索“启用或关闭 Windows 功能”并打开它。

  • 在打开的窗口中,找到名为 “SMB 1.0/CIFS 文件共享支持” 的选项。

  • 如果该选项被勾选,则表示 SMBv1 已安装。你可以点击其左边的箭头展开,查看其下的客户端和服务器组件是否被单独安装。

  • 如果该选项未被勾选,则表示 SMBv1 未安装。可勾选按照提示下一步安装。


⚠️重要安全提示

强烈建议禁用 SMBv1!

SMBv1 是一个古老且不安全的协议,存在严重的安全漏洞(例如当年肆虐的 WannaCry 勒索病毒就利用了 SMBv1 的漏洞)。除非你有非常特殊的、且无法替代的旧设备(如旧的网络存储设备 NAS、旧款的网络打印机、或 Windows XP/2003 等旧系统)必须使用 SMBv1 进行连接,否则出于安全考虑,你应该将其禁用。

使用管理员 PowerShell 执行以下命令:

# 禁用 SMBv1 客户端
Disable-WindowsOptionalFeature -Online -FeatureName SMB1Protocol-Client

# 禁用 SMBv1 服务器(如果你不需要提供 SMBv1 共享)
Disable-WindowsOptionalFeature -Online -FeatureName SMB1Protocol-Server

# 或者,一次性禁用整个 SMBv1 协议
Disable-WindowsOptionalFeature -Online -FeatureName SMB1Protocol

执行后重启计算机使更改生效。

posted @ 2025-12-14 11:39  zanxj  阅读(6)  评论(0)    收藏  举报