C#Environment.GetDrives()在管理员模式下无法正常工作

Tom*_*Tom 2 c# uac windows-7 elevated-privileges

当我在标准用户模式下运行此代码时,我得到了所有驱动器,包括网络驱动器.以管理员身份运行时,网络驱动器不会出现在列表中.是什么赋予了?

List<string> drives = Environment.GetLogicalDrives().ToList();
StringBuilder driveList = new StringBuilder();

foreach (string drive in drives)
    driveList.AppendLine(drive);

MessageBox.Show(driveList.ToString());
Run Code Online (Sandbox Code Playgroud)

这是在Windows 7下运行的.网络驱动器来自Novell.代码是使用.NET 4框架用C#编写的.

Cha*_*esB 6

这是正常的行为,因为Windows Vista中的网络映射驱动器不可用的过程中运行以高特权(见程序可能无法在Windows Vista或Windows 7(KB 937624打开用户帐户控制后访问某些网络位置)).知识库文章中的变通方法意味着注册表编辑和计算机重新启动.

有关更多详细信息,另请参阅博客文章在Windows Vista上使用UAC映射网络驱动器.