为什么在提升的 cmd 提示符下映射驱动器不可用,但在常规 cmd 提示符下却可用?

为什么在提升的 cmd 提示符下映射驱动器不可用,但在常规 cmd 提示符下却可用?

在 Windows 8 中,为什么映射驱动器在提升的 cmd 提示符下不可用,但在常规的 cmd 提示符下却可用?我可以运行 net use 并使其可用,但我仍然觉得这很奇怪。

答案1

当以管理员用户身份使用 UAC 时,Windows 会在登录时创建两个令牌。一个令牌(提升权限的令牌)未经过滤,且已启用管​​理员组。另一个令牌已过滤管理员组(以及其他一些详细信息,如高级用户组)。

由于这两个令牌具有单独的安全上下文,因此即使实际上是同一个用户,其中一个令牌中的网络连接也无法在另一个令牌中可用。

因此,如果您使用资源管理器映射驱动器,提升的命令提示符(或任何其他提升的进程)将无法看到它。

您可以使用 NET USE 命令在提升的命令提示符中映射相同的网络资源(甚至使用相同的驱动器号)。此后,任何提升的进程也将能够看到它。

答案2

William 的回答解释了为什么会发生这种情况,并提供了一种解决方法。但我想补充一点,实际上有一个注册表修复适用于 Windows 7 的 Vista 版本可以调整此行为。只需将其添加到注册表中:

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System]
"EnableLinkedConnections"=dword:00000001

重新启动后,应该可以通过提升的命令提示符访问映射驱动器。

答案3

因为您以其他用户身份提升命令提示符,并且相关映射驱动器是由非管理员用户映射的。不同的用户有不同的用户设置,如打印机、映射网络驱动器等。

相关内容