【发布时间】:2018-11-01 08:10:37
【问题描述】:
正如在其他帖子中所讨论的,我开始知道 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# 中的代码进行提升并输出?
【问题讨论】:
-
您是否尝试过设置
WorkingDirectory属性? -
这不是必需的,因为当我运行时 exe 会给出正确的输出...以管理员身份右键单击
-
但是当你以这种方式运行它时,你在工作目录或快捷方式指定了工作目录。
标签: c# process elevated-privileges