Почему при олицетворении процесса возвращается сообщение «Недопустимое имя каталога»?C#

Место общения программистов C#
Anonymous
Почему при олицетворении процесса возвращается сообщение «Недопустимое имя каталога»?

Сообщение Anonymous »

У меня есть процесс, который необходимо запустить с правами администратора. Мне нужен обычный Джо, чтобы запустить этот процесс, но я не хочу предоставлять доступ всем... поэтому я создал простой класс, который будет запускать эту ОДНУ задачу от имени администратора, используя олицетворение.

Код ОЧЕНЬ прямолинейный, но я не могу понять, почему это дает сбой. ПОМОЩЬ??!!

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

Код: Выделить всё


    public static Process ImpersonateProcess(string exe, string args, string Username, string Password)
{
ProcessStartInfo psi = new ProcessStartInfo(exe);
psi.Arguments = args;
psi.UseShellExecute = false;
psi.UserName = Username;

psi.Password = new SecureString();

foreach (char c in Password.ToCharArray())
{
psi.Password.AppendChar(c);
}

Process proc = null;

Console.WriteLine("starting...");
proc = Process.Start(psi);
Console.WriteLine("started");

return proc;
}


В приведенном выше коде я никогда не добираюсь до кнопки «начал». Он выдает ошибку в Process.Start(psi) и сообщение об ошибке «недопустимое имя каталога».

Подробнее здесь: https://stackoverflow.com/questions/777 ... is-invalid

Вернуться в «C#»