为了账号安全,请及时绑定邮箱和手机立即绑定

动词 = “runas” 不以提升的方式运行

动词 = “runas” 不以提升的方式运行

C#
跃然一笑 2021-06-21 15:13:53
正如在其他帖子中所讨论的,我开始知道 Verb = "runas" 可以提升。我需要以高权限运行“logman.exe”参数。使用下面的代码,我没有得到任何输出,try        {            var process = new Process()            {                StartInfo = new ProcessStartInfo                {                    FileName = "logman.exe",                    Arguments = "PerfCounterCustom",                    Verb = "runas",                    RedirectStandardOutput = true,                    CreateNoWindow = true,                }            };            process.Start();            string lineData;            while ((lineData = process.StandardOutput.ReadLine()) != null)            {                if (lineData.Contains("Root Path:"))                {                    Console.WriteLine(lineData.Trim());                }            }            process.WaitForExit();        }        catch (Exception ex)        {            Console.WriteLine(ex.ToString());        }注意 - 当我在 EXE 上运行时,以管理员身份右键单击,我得到了输出。需要进行哪些更改才能通过 C# 中的代码和输出进行提升?
查看完整描述

1 回答

?
PIPIONE

TA贡献1829条经验 获得超9个赞

Process.Start() 可以使用 OS 或 Shell (Explorer.exe) 来生成新进程,但只有 Shell 会提示提升。

因此,您必须根据以下答案在 ProcessStartInfo 中指定 UseShellExecute=true:processstartinfo-verb-runas-not-working

UseShellExecute=false 将允许您捕获标准输出和标准错误消息。


查看完整回答
反对 回复 2021-06-26
  • 1 回答
  • 0 关注
  • 368 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信