Windows 网络驱动器不可见
1. 现象描述
Section titled “1. 现象描述”在使用 Windows 时经常遇到:普通用户模式下可以看见映射的 Z: 盘,但切换到“以管理员身份运行”的命令提示符或程序时,却提示 Z: 盘不存在。
2. 原因分析:UAC 令牌分离
Section titled “2. 原因分析:UAC 令牌分离”这是由于 Windows 的 UAC(用户帐户控制)分离令牌机制 导致的。
当你登录 Windows 时,系统会创建两个访问令牌:
- 标准用户令牌:用于日常操作。
- 管理员令牌:只有在“以管理员身份运行”时才会激活。
关键点:Windows 将网络映射驱动器视为与令牌绑定的资源。
- 在普通模式下映射的
Z:盘只存在于标准令牌中。 - 管理员模式下的令牌并没有这个映射关系,因此无法识别。
3. 解决方案
Section titled “3. 解决方案”3.1. 方案一:修改注册表(一劳永逸)
Section titled “3.1. 方案一:修改注册表(一劳永逸)”此操作会让 Windows 在标准令牌和管理员令牌之间共享映射驱动器。
- 按下
Win + R,输入regedit。 - 定位到路径:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System - 新建一个 DWORD (32 位) 值。
- 命名为:
EnableLinkedConnections。 - 将其数值数据修改为
1。 - 重启电脑。
[!info] 原理 这个注册表项会让 Windows 在两个令牌之间同步网络映射关系。
3.2. 方案二:在管理员终端重新映射
Section titled “3.2. 方案二:在管理员终端重新映射”如果你不想修改注册表,只需在 管理员权限 的命令提示符(CMD)中手动再映射一次:
net use Z: \\服务器地址\共享路径 /persistent:yes3.3. 方案三:使用 UNC 路径代替盘符(推荐脚本使用)
Section titled “3.3. 方案三:使用 UNC 路径代替盘符(推荐脚本使用)”在编写脚本或运行命令时,直接使用网络路径可以避开盘符映射问题:
- 不推荐:
mklink /D "C:\Link" "Z:\Folder" - 推荐:
mklink /D "C:\Link" "\\Server\Share\Folder"
4. 验证方法
Section titled “4. 验证方法”- 打开一个 普通 CMD,输入
net use,确认Z:盘状态。 - 打开一个 管理员 CMD,输入
net use。- 如果列表为空,说明就是上述令牌分离问题,方案一可完美解决。