网络共享 — 桌面运维 — 网络共享问题大全
分类:IT运维 > 网络共享 | 桌面运维知识库系列
适用环境:Windows 10 / 11 / Server,企业局域网环境
更新时间:2026-04-15
一、文件夹共享
1.1 创建文件夹共享(标准步骤)
- 右键文件夹 → 属性 → 共享选项卡 → 共享
- 添加 Everyone(或指定用户)→ 设置权限级别(读取/读写)
- 点击”共享” → 完成
- 记住显示的共享路径(如
\\PC-NAME\SharedFolder)
高级共享方式(推荐):
- 右键文件夹 → 属性 → 高级共享 → 勾选”共享此文件夹”
- 设置共享名和同时连接数
- 点击”权限” → 添加用户并设置权限
- 配合NTFS权限一起使用(共享权限+NTFS权限取最严格)
1.2 共享权限 vs NTFS权限
| 维度 | 共享权限 | NTFS权限 |
|---|---|---|
| 作用范围 | 通过网络访问时生效 | 本地+网络访问都生效 |
| 粒度 | 只有读取/更改/完全控制 | 非常精细(读取/写入/修改/执行等) |
| 默认权限 | Everyone 读取 | 继承父文件夹权限 |
| 优先级 | 两者叠加取最严格 | — |
最佳实践:
- 共享权限设为 Everyone 完全控制
- 通过 NTFS 精细控制实际权限
- 避免使用 Everyone,改用指定用户或组
1.3 访问共享文件夹
:: 方法1:通过运行窗口
Win+R → \\192.168.1.100 或 \\PC-NAME
:: 方法2:映射网络驱动器
右键"此电脑" → 映射网络驱动器 → 选择盘符和路径
:: 方法3:命令行映射
net use Z: \\192.168.1.100\SharedFolder /persistent:yes
:: 查看已映射的驱动器
net use
:: 断开映射
net use Z: /delete
1.4 共享文件夹无法访问的排查
排查清单:
- 网络发现是否开启:网络和共享中心 → 更改高级共享设置 → 启用网络发现和文件共享
- Guest账户:计算机管理 → 本地用户和组 → 确认Guest未被禁用(简单环境)
- 防火墙:确保”文件和打印机共享”入站规则已放行
- 网络配置文件:确认当前网络是”专用”而非”公用”
- SMB协议版本:
# 检查SMB客户端设置
Get-SmbClientConfiguration
# 启用SMB1(不推荐,但某些旧设备需要)
Set-SmbServerConfiguration -EnableSMB1Protocol $true
- 凭据问题:清除保存的凭据后重新输入
控制面板 → 凭据管理器 → Windows凭据 → 删除相关条目
二、常见共享错误代码
2.1 错误 0x80070035 — 找不到网络路径
原因: 网络不通、SMB服务未启用、防火墙拦截。
解决步骤:
- ping 目标机器IP确认网络通
- 确认目标机器开启了文件共享服务
- 检查防火墙放行 TCP 445 端口
- 确认目标机器的网络配置文件为”专用”
2.2 错误 0x80070043 — 无法访问共享
原因: SMB版本不匹配或网络发现关闭。
解决步骤:
# 启用SMB服务器
Set-SmbServerConfiguration -EnableSMBServerProtocol $true
# 检查网络发现服务是否启动
Get-Service -Name FDResPub, SSDPSRV, Upnphost | Select Name, Status
2.3 错误 0x800704CF — 网络路径不可用
原因: 通常是网络配置或DNS问题。
解决步骤:
- 使用IP代替计算机名访问
- 检查DNS解析:
nslookup 目标计算机名 - 添加hosts记录:
192.168.1.100 PC-NAME
2.4 错误 0x80070021 — 文件正在使用
原因: 文件被其他程序占用。
解决步骤:
- 使用资源监视器查看哪个进程在使用该文件
resmon.exe → 关联的句柄 → 搜索文件名
- 结束相关进程或让对方关闭文件
2.5 错误 0x8007005B — 太多用户连接
原因: Windows桌面版有并发连接数限制(通常20个)。
解决方案:
- 升级到 Windows Server 版本
- 减少同时连接的用户数
- 使用专业的NAS或文件服务器
三、网络驱动器映射
3.1 通过组策略批量映射
组策略管理器 → 用户配置 → 首选项 → Windows设置 → 驱动器映射
→ 新建映射驱动器
位置:\\server\share
驱动器号:Z:
操作:创建
3.2 映射驱动器不显示/断开
常见原因:
- UAC导致管理员看不到映射(需用
net use而非GUI) - 网络不稳定导致断开
- 服务器重启后连接丢失
解决方案:
:: 检查连接状态
net use
:: 重新连接所有映射
net use * /delete /y
net use Z: \\server\share /persistent:yes
:: 开机自动重连脚本(放入启动项)
@echo off
ping 192.168.1.100 -n 1 >nul
if %errorlevel%==0 (
net use Z: \\192.168.1.100\share /persistent:yes
)
3.3 映射驱动器延迟问题
症状: 开机后映射驱动器要等很久才出现,或资源管理器卡顿。
解决方法:
- 注册表修改:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\LanmanWorkstation\Parameters
新建 DWORD:SlowLinkTimeOut
值:50(毫秒)
- 或将
\\server\share的访问改为\\server.domain.com\share
四、打印机共享
详见
01-打印机问题.md第二章
五、网络发现与浏览
5.1 网络中看不到其他电脑
排查步骤:
- 确认网络发现开启:
控制面板 → 网络和共享中心 → 更改高级共享设置
→ 专用/来宾 → 启用网络发现、启用文件和打印机共享
- 检查依赖服务是否启动:
Function Discovery Provider Host
Function Discovery Resource Publication
SSDP Discovery
UPnP Device Host
- 检查网络配置文件:
Get-NetConnectionProfile
# 确认 NetworkCategory 是 "Private" 而非 "Public"
- 设置网络为专用网络:
Set-NetConnectionProfile -NetworkCategory Private
5.2 网络邻居/网络文件夹为空
解决方法:
- 确认上述服务已启动
- 检查计算机是否在同一工作组
- 尝试直接访问
\\计算机名或\\IP - 重启 Computer Browser 服务(如果存在)
六、SMB协议管理
6.1 SMB版本检查与配置
# 查看当前SMB配置
Get-SmbServerConfiguration
# 启用SMB2/3(推荐)
Set-SmbServerConfiguration -EnableSMB2Protocol $true
# 禁用不安全的SMB1
Set-SmbServerConfiguration -EnableSMB1Protocol $false
# 查看哪些客户端使用了什么SMB版本
Get-SmbConnection
6.2 SMB1的安全风险
SMB1 已被弃用的原因:
- 2017年 WannaCry 勒索病毒利用 SMB1 漏洞传播
- 微软从 Windows 10 1709 版本起默认禁用 SMB1
- 协议效率低,不支持大型MTU
何时仍需要 SMB1:
- 旧版网络打印机
- 老旧NAS设备
- 某些工业设备
如必须使用 SMB1:
- 仅在隔离的VLAN中使用
- 限制访问范围
- 尽快升级设备
6.3 SMB签名与加密
# 启用SMB签名(防止中间人攻击)
Set-SmbServerConfiguration -RequireSecuritySignature $true
# 启用SMB加密
Set-SmbServerConfiguration -EncryptData $true
七、共享文件夹权限管理
7.1 常用权限方案
| 使用场景 | 共享权限 | NTFS权限 |
|---|---|---|
| 只读公告栏 | Everyone 读取 | Users 读取 |
| 部门协作文件夹 | Everyone 完全控制 | 部门组 读写,其他只读 |
| 个人主目录 | Everyone 完全控制 | 每人只对自己文件夹有完全控制 |
| 软件安装包 | Everyone 读取 | Everyone 读取+执行 |
7.2 批量设置共享权限(命令行)
:: 使用icacls设置NTFS权限
icacls "\\server\share\folder" /grant Domain\Group:(OI)(CI)M /T
:: 使用PowerShell设置共享
New-SmbShare -Name "Dept" -Path "D:\Shares\Dept" -FullAccess "Domain\DeptUsers"
7.3 查看共享文件夹当前权限
:: 查看所有共享
net share
:: 查看特定共享的权限
icacls "\\server\share"
:: 查看共享的ACL
Get-SmbShareAccess -Name "ShareName"
八、远程文件访问
8.1 通过VPN访问公司共享
- 确保VPN连接后路由正确(split tunnel vs full tunnel)
- 检查VPN客户端是否能解析内部DNS
- 映射网络驱动器时使用IP而非计算机名(DNS可能不通)
8.2 OneDrive/SharePoint 替代方案
| 方案 | 优势 | 适用场景 |
|---|---|---|
| OneDrive for Business | 个人文件同步 | 个人文档 |
| SharePoint Online | 团队协作+版本控制 | 项目文档 |
| 混合方案 | 本地共享+云备份 | 混合办公 |
九、共享故障排查工具箱
9.1 常用命令
:: 查看网络连接
netstat -an | findstr 445
:: 查看共享资源
net share
:: 查看会话
net session
:: 查看打开的文件
openfiles /query
:: 测试端口连通
Test-NetConnection -ComputerName PC001 -Port 445
:: 查看SMB连接
Get-SmbConnection
:: 查看网络发现相关服务状态
sc query FDResPub
sc query SSDPSRV
9.2 排查流程图
无法访问共享
├── ping目标IP通吗?
│ ├── 不通 → 检查物理连接/网络配置
│ └── 通 → 继续
├── 445端口通吗?
│ ├── 不通 → 检查防火墙/SMB服务
│ └── 通 → 继续
├── 凭据正确吗?
│ ├── 不正确 → 清除凭据管理器,重新输入
│ └── 正确 → 继续
├── 权限够吗?
│ ├── 不够 → 检查共享+NTFS权限
│ └── 够 → 继续
└── 查看事件日志获取详细错误
