C # Environment.GetDrives () не работает правильно в режиме администратора - PullRequest
2 голосов
/ 17 января 2011

Когда я запускаю этот код в обычном пользовательском режиме, я получаю все свои диски, включая сетевые диски.При запуске от имени администратора сетевые диски не отображаются в списке.Что дает?

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.Код написан на C # с использованием платформы .NET 4.

1 Ответ

6 голосов
/ 17 января 2011

Это нормальное поведение, поскольку подключенные к сети диски Windows Vista недоступны процессу, запущенному с повышенными привилегиями (см. . Программы могут не иметь доступа к некоторым сетевым расположениям после включения контроля учетных записей в WindowsVista или Windows 7 (KB 937624) ).Обходной путь в статье базы знаний подразумевает редактирование реестра и перезагрузку компьютера.

См. Также сообщение в блоге Сопоставленные сетевые диски с UAC в Windows Vista для получения дополнительной информации.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...