Почему при олицетворении процесса возвращается сообщение «Недопустимое имя каталога»?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
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

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