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

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

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

MessageBox.Show(driveList.ToString());


它正在Windows 7下运行。网络驱动器来自Novell。该代码使用.NET 4框架以C#编写。

最佳答案

这是正常现象,因为Windows Vista网络映射的驱动器不适用于以提升的特权运行的进程(请参见Programs may be unable to access some network locations after you turn on User Account Control in Windows Vista or in Windows 7 (KB 937624))。知识库文章中的解决方法意味着注册表编辑和计算机重新启动。

有关更多详细信息,另请参见博客文章Mapped Network Drives with UAC on Windows Vista

09-06 02:09