Directory.SetCurrentDirectory с правами администратора.

Я пытаюсь настроить помощник рабочего процесса, который должен захватывать файлы/выполнять команды с нескольких разных подключенных сетевых дисков.

У меня есть 3 отдельных подключенных диска. Z:\ Y:\ и W:\ (вместе с моим C:\)

Когда я пытаюсь сделать что-то вроде:

    Directory.SetCurrentDirectory("Z:\\xampp\\htdocs");

    Console.WriteLine(Environment.CurrentDirectory);
    Console.ReadLine();

Это работает просто отлично. Он выведет Z:\xampp\htdocs, как и должно быть.
Однако, если я снова запущу тот же самый код, но с правами администратора, он выдаст мне исключение System.IO.DirectoryNotFoundException.


person Brayden    schedule 18.12.2013    source источник
comment
Если вы можете, переключитесь на пути UNC, это избавит вас от боли.   -  person Tony Hopkinson    schedule 19.12.2013
comment
Я бы с удовольствием, но поскольку я использую расширения оболочки, в качестве параметра будет отправлено `Z:\whatever`.   -  person Brayden    schedule 19.12.2013


Ответы (1)


Это происходит потому, что диск монтируется только для пользователя, который его монтировал.

Таким образом, учетная запись администратора не видит его, потому что для них он не существует.

person zerkms    schedule 18.12.2013