VS2013与VS2010不同,我无法从Windows应用程序访问网络驱动器

时间:2014-02-19 17:08:42

标签: c# security networking visual-studio-2013 mapped-drive

我无法解决这个问题!

创建一个只执行FileInfo(“Y:/test.txt”)的VS2010 Windows应用程序,并在调试FileInfo时正常工作。

通过VS2013执行完全相同的操作,并报告找不到文件。

所以存在某种信任或冒充问题,这是一个Windows应用程序,我正在以管理员身份运行VS2013。

这让我疯了 - 任何人都有任何想法?

感谢 保罗

1 个答案:

答案 0 :(得分:9)

在Windows中启用UAC并且您是Administrators组的成员时,实际上最终会有两个登录会话 - 一个作为普通用户,一个作为管理员。映射的驱动器仅与常规用户登录会话相关联,因此当您以管理员身份运行程序时,它不会看到映射的驱动器。

This link提供更多详细信息和解决方案(我没有尝试过!),涉及更改注册表:

  

要解决此问题,请配置EnableLinkedConnections注册表值。此值使Windows Vista和Windows 7能够共享已过滤的访问令牌与Administrators组成员的完全管理员访问令牌之间的网络连接。配置此注册表值后,如果网络资源映射到访问令牌,LSA将检查是否存在与当前用户会话关联的另一个访问令牌。如果LSA确定存在链接的访问令牌,则会将网络共享添加到链接的位置。   配置EnableLinkedConnections注册表值

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

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

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

  6.   
  7. 键入EnableLinkedConnections,然后按ENTER键。

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

  10.   
  11. 在“数值数据”框中,键入1,然后单击“确定”。

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

  14.