EnableLinkedConnections 在某些 Windows 10 计算机上不起作用

EnableLinkedConnections 在某些 Windows 10 计算机上不起作用

多年来,我一直在使用下面的“EnableLinkedConnections”注册表设置,没有任何问题。但最近在 Windows 8.1 和 Windows 10 中,有时它不起作用。我需要以管理员权限运行一些程序,但在这种情况下,它们无法看到以标准用户身份映射的驱动器。有人知道为什么这不再起作用吗?或者是否有解决方法?禁用 UAC 不是一个选项。谢谢

转到:HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System 创建一个名为 EnableLinkedConnections 且值为 1 的新参数(DWORD 类型)

答案1

总结:微软已经确认存在无法正常工作的情况EnableLinkedConnections。如果 UAC 在运行提升的程序(即以管理员身份运行)之前需要密码,就会发生这种情况。


https://support.microsoft.com/en-us/help/3035277/mapped-drives-are-not-available-from-an-elevated-prompt-when-uac-is-co

症状

如果满足以下条件,则会发生此问题:

  • 您使用组策略首选项 (GPP) 或登录脚本在登录期间映射网络驱动器。

  • 用户帐户控制 (UAC) 已启用。

  • 以下 UAC 组策略设置配置为提示输入凭据:

    • 用户帐户控制:管理员批准模式下管理员的提升权限提示行为
  • EnableLinkedConnections 注册表项已配置。请参阅详细信息以配置注册表项。

在这些条件下,您会遇到以下情况:

  • 登录后,映射驱动器可按预期使用。以管理员身份运行提升的命令提示符时,映射驱动器在提升的命令提示符中不可用。

注意:此问题还会影响在提升的上下文中运行(以管理员身份运行)并使用驱动器号访问映射驱动器的其他应用程序。

原因

启用 UAC 后,系统会在用户登录时创建两个登录会话。两个登录会话相互关联。一个会话代表处于提升权限会话中的用户,另一个会话代表您在最低用户权限下运行的用户。

创建驱动器映射时,系统会创建符号链接对象(“DosDevices”),将驱动器号与 UNC 路径关联起来。这些对象特定于登录会话,不会在登录会话之间共享。

注意:当启用 UAC 时,EnableLinkedConnections 注册表项会强制将符号链接写入创建的两个链接登录会话。

当 UAC 策略配置为提示输入凭据时,除了现有的两个链接登录会话外,还会创建一个新的登录会话。之前创建的代表驱动器映射的符号链接在新的登录会话中将不可用。

解决方法

要解决此问题,请按照下列方法之一中的步骤操作:

方法 1

  1. 在本地组策略编辑器中,找到以下组策略路径:Local Computer Policy\Windows Settings\Security Settings\Local Policies\Security Options

  2. 配置以下策略以提示同意:User Account Control: Behaviour of the elevation prompt for administrators in Admin Approval Mode

方法 2

在提升的会话中再次映射所需的驱动器,例如,通过使用 .bat 脚本文件。

地位

Microsoft 已经确认这是“适用于”一节中列出的 Microsoft 产品中的问题。


上面的评论中提供了类似公告的链接,但似乎不适合英语用户;此答案中的链接应该适用于英语语言环境。

答案2

我得到了一些解决方案:

  1. 关闭您的 UAC(用户帐户控制)并重新启动您的电脑,如果这没有帮助,请尝试第二种解决方案,它肯定会对您有所帮助。

  2. 您必须在注册表中创建 EnableLinkedConnections 条目,将值(类型 DWORD)设置为 1,然后重新启动工作站。HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System\EnableLinkedConnections=dword:00000001

笔记:要配置 EnableLinkedConnections 注册表值,您需要按照以下步骤操作:

  1. 单击“开始”,在“开始程序和文件”框中键入 regedit,然后按 ENTER。

  2. 找到并右键单击注册表子项 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System。

  3. 指向“新建”,然后单击“DWORD 值”。

  4. 键入 EnableLinkedConnections,然后按 ENTER。

  5. 右键单击“EnableLinkedConnections”,然后单击“修改”。

  6. 在数值数据框中,键入 1,然后单击确定。

  7. 退出注册表编辑器,然后重新启动计算机。

答案3

上面的答案对我不起作用,但是这个确实有效:

  1. 创建一个 .cmd 脚本,例如fix-mounts.cmd
net use f: \\vboxsvr\myhome
"C:\Program Files\foo\the-thing-i-want-to-run-with-network-shares.exe"
  1. 创建快捷方式fix-mounts.cmd
  2. 在快捷方式上单击右键->属性
  3. 单击“高级”
  4. 点击“以管理员身份运行”
  5. 点击确定,确定。

现在双击快捷方式,它将以管理员身份运行,挂载您的共享,并启动该程序。

此外,如果您关闭 UAC,那么它将不会提示以管理员身份运行。

相关内容