我们有一个以编程方式映射网络驱动器的应用程序。在开启 UAC 的 Vista 上,我们遇到了一些奇怪的问题。
我们的应用程序映射非提升驱动器,因此如果用户浏览资源管理器并双击运行 exe,它会提示输入 UAC。因此,当他们批准它时,它会提示输入共享的用户名/密码......奇怪,因为凭据已保存。
事实证明,提升的进程无法访问从非提升的进程映射的映射驱动器。
要查看此问题的实际效果,请执行以下步骤:
- 在没有 UAC 的情况下运行 cmd.exe
- 运行“net use w:\yourHostname\yourShare /user:yourUser yourPassword /persistent:yes”
- 以管理员身份运行 cmd.exe
- 键入“w:”,然后查看错误消息
此时,您可以运行普通的“net use”并查看提升的 cmd 上的连接不可用,但其他非提升的 cmd 认为它正常。
有谁知道解决此问题的解决方法?或者可能是一种将网络驱动器映射到“所有用户”的方法?