提升的命令行提示无法访问共享驱动器

min*_*nda 72 windows privileges command-line

  1. 我使用我的用户帐户映射来自另一台机器的共享。
  2. 我启动了一个提升的命令提示符(cmd.exe,右键单击,以管理员身份运行)。
  3. 导航到共享云端硬盘 (Z:) 会导致:

The system cannot find the drive specified

现在,如果我打开一个非提升的命令提示符,我可以导航到 Z: 就好了。

msb*_*msb 53

以管理员身份打开 Windows 资源管理器并重新创建网络共享对我不起作用。然后,我找到了这个解决方案:在命令提示符本身上创建共享。它对我有用。

net use f: \\remoteserver\subfolder      
Run Code Online (Sandbox Code Playgroud)

即使驱动器已经在 Windows 资源管理器中映射,它仍然可以工作。

注意:在子文件夹前只使用一个反斜杠


Alb*_*nez 27

可能这不是文件权限的问题,但与以下有关:

  • 与会话相关联的网络共享(即不同的用户可能具有不同的网络共享集)。请注意,一个用户可以拥有多个会话。
  • 用户帐户控制的工作原理。

由于几乎所有用户都在 XP 中使用管理员帐户(因为大多数程序员不会费心让他们的程序使用有限帐户运行),因此微软从 Vista 开始制作了管理员帐户的“有限版本”,在某些情况下,这两个“版本” " 算作不同的用户(因为它们是不同的会话)。

尝试启动提升的 Windows 资源管理器(即以“以管理员身份运行”启动的 Windows 资源管理器)并重新创建所有网络共享,这应该可以解决问题。

此 MSDN 博客条目解释了必须重新创建共享的原因:

在 Windows Vista 上使用 UAC 映射网络驱动器

编辑:来自博客条目的相关位(强调我的):

为简化起见,假设您以管理员身份运行并启用了 UAC(尽管为了更安全,最好以标准用户身份运行)。当您登录时,您将创建一个新令牌。然后我们检测到您启用了 UAC,我们再次登录,最终得到一个新的(高度受限的)令牌,我们用它来启动 shell。有两个单独的登录事件
(...)
这种便利的功能可以更轻松地遇到映射网络驱动器的问题。在 Windows 2000 SP2 之前,设备名称保持全局可见,直到明确删除或系统重新启动。出于安全原因,我们从 Windows 2000 SP2 开始修改了此行为。从现在开始,所有设备都与身份验证 ID (LUID) 相关联 - 为每个登录会话生成的 ID
(...)
因为这些映射驱动器与 LUID 相关联,并且由于提升的应用程序使用在单独登录事件期间生成的不同 LUID,提升的应用程序将不再看到该用户的任何映射驱动器。

  • 我使用了提升的 Windows 资源管理器,提升的命令提示符仍然找不到映射的驱动器。 (4认同)
  • 我的理解是,在 Windows 7 中,当我“以管理员身份运行”时,它实际上并不是以名称为“管理员”(Windows XP 风格)的帐户运行,而是作为我的帐户运行,但设置了一些超级用户位。我不明白为什么我描述的两种情况有什么不同。 (2认同)

use*_*007 8

Alberto Martinez 的回答描述了为什么无法访问映射的网络驱动器。

这是解决问题的注册表修复

  • 打开 regedit 并转到 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System
  • 添加名为EnableLinkedConnections的新 DWORD(32 位)值。
  • 将值调整为 1(或 00000001)。

退出 regedit 并重新启动计算机。

  • 在 Win10 上不起作用 (2认同)

归档时间:

查看次数:

85310 次

最近记录:

4 年,7 月 前