Мне нужно запустить команду с повышенными правами в моем приложении 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