2009-02-28 5 views
0

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

Но если этот инструмент запущен из cmd.exe или Far Manager (far.exe), создается новое консольное окно. Таким образом, весь вывод инструментальной консоли записывается на него и теряется при закрытии.

Итак, моя идея заключается в реализации вилки, где первая часть кода вызывает тот же исполняемый файл с некоторым аргументом и Process.ProcessStartInfo в дополнительной прибыли UseShellExecute = true, Verb = "runas"; и другая часть, вызванная аргументом, выполняет то, что требует повышение привилегий.

Возможно ли «виртуализировать» мой инструмент re-lauch с захватом вывода из второго экземпляра и перенаправление его на первый?

ответ

0

Если это возможно, это потенциальная проблема безопасности. Если какой-либо процесс может запустить другой процесс (или даже сам), который будет повышен и перехват его вывода, это может привести к раскрытию информации.

Смежные вопросы