Vista UAC - 故障映射网络驱动器

jon*_*ers 8 windows uac file-sharing net-use windows-vista

我们有一个以编程方式映射网络驱动器的应用程序 在使用UAC的Vista上,我们遇到了一些奇怪的问题.

我们的应用程序将驱动器映射为非提升的,因此如果用户浏览资源管理器并双击以运行exe,则会提示输入UAC.因此,当他们批准它时,它会提示输入共享的用户名/密码...因为凭据已保存,所以很奇怪.

事实证明,提升的进程无法访问从非提升进程映射的映射驱动器.

要查看此问题,请执行以下步骤:

  • 运行没有UAC的cmd.exe
  • 运行"net use w:\ yourHostname\yourShare/user:yourUser yourPassword/persistent:yes"
  • 以管理员身份运行cmd.exe
  • 键入"w:",然后查看错误消息

此时,您可以运行简单的"net use",并查看提升的cmd上的连接是不可用的,但另一个非提升的cmd将其视为OK.

有没有人知道解决此问题的解决方法?或者可能是一种将网络驱动器映射到"所有用户"的方法?

jon*_*ers 2

查看此链接:Regedit 链接

它们描述了一个注册表项,允许提升的用户访问映射的驱动器,反之亦然。这解决了我所有的问题,并且正是我所寻找的。

编辑:

原始链接已失效,但以下是从www.archive.org上的 2009 年 1 月 24 日快照中复制的文本:


如果您发现无法通过管理令牌访问映射驱动器,请尝试以下操作。当作为受保护的管理员运行时,您有两个令牌,并且此密钥将维护两个令牌的连接(无论如何,这是我的理解)。它还可以帮助解决登录脚本的问题。

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System EnableLinkedConnections =(dword)1

本文档的“组策略脚本可能因用户帐户控制而失败”部分也很有用。

http://technet2.microsoft.com/WindowsVista/en/library/5ae8da2a-878e-48db-a3c1-4be6ac7cf7631033.mspx?mfr=true

我将很快发布更多相关信息。