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

Jim*_*Del 19 command-line windows-8

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

Wil*_*iam 23

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

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

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

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

  • `net use e: \\computerName\folder password /user:domain\username /p:yes` 是我最终使用的命令,使其工作。(其中`e:`是你要映射的盘符,`\\computername\folder`是要映射的路径,`password`、`domain`和`username`是正常的登录凭据。希望这对某人有帮助。我从这里按照示例 http://pcsupport.about.com/od/commandlinereference/p/net-use-command.htm (4认同)

Cra*_*g W 19

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

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System]
"EnableLinkedConnections"=dword:00000001
Run Code Online (Sandbox Code Playgroud)

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