我们有一个编程映射networking驱动器的应用程序。 在UAC上的Vista上,我们遇到了一些奇怪的问题。
我们的应用程序映射驱动器不boost,所以如果用户浏览器和双击运行一个EXE,它会提示inputUAC。 所以当他们批准它时,它会提示input共享的用户名/密码…奇怪,因为凭证被保存。
事实certificate,升级的进程无法访问从未升级的进程映射的映射驱动器。
要查看此问题,请执行以下步骤:
在这一点上,你可以运行普通的“networking使用”,看到提升cmd上的连接是不可用的,但其他非提升cmd认为它是好的。
有谁知道一个解决方法来解决这个问题? 或者可能是一种将networking驱动器映射到“所有用户”的方法?
这是设计。
即使用户帐户相同,升级版本中具有管理员组中的成员身份的令牌和附加权限,令牌也是独立创建的,因此具有不同的LUID,并且内核看起来来自不同的用户登录。 由于它们来自不同的登录,映射的驱动器不在它们之间共享。
看看这个链接: Regedit链接
他们描述了一个注册表项,允许高级用户访问映射的驱动器,反之亦然。 这解决了我所有的问题,正是我所期待的。
编辑:
原始链接已经死了,但是这里是从www.archive.org上复制的2009年1月24日的快照:
如果您发现您无权访问管理令牌中的映射驱动器,请尝试以下操作。 当作为一个受保护的管理员运行,你有两个令牌,这个键将保持两个tokes(这是我的理解无论如何)的连接。 它也可以帮助清除登录脚本的问题。
HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ Windows \ CurrentVersion \ Policies \ System EnableLinkedConnections =(dword)1
此文档的“组策略脚本可能因用户帐户控制失败”部分也是有用的。
我将很快发布更多信息。