Получение вывода CMD через Process.Start с UseShellExecute = true в C#C#

Место общения программистов C#
Anonymous
Получение вывода CMD через Process.Start с UseShellExecute = true в C#

Сообщение Anonymous »

Мне нужно запустить команду с повышенными правами в моем приложении C# и получить выходные данные.

Я создаю новый экземпляр System.Diagnostics.Process , в сочетании с новым экземпляром System.Diagnostics.ProcessStartInfo.

Команда отправляется в cmd.exe и, к сожалению, может потребовать повышенных прав доступ пользователя (это означает, что UseShellExecute = true и Verb = "runas" должны присутствовать).

В результате использования UseShellExecute = true RedirectStandardOutput не будет работать.

Важно записать вывод команды, но единственный способ получить это — добавить что-то вроде > output.txt в список аргументов, а затем вызвать System.IO.File.ReadAllText, чтобы прочитать результат.

Может ли кто-нибудь придумать менее хакерский способ?

Подробнее здесь: https://stackoverflow.com/questions/316 ... in-c-sharp

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