【问题标题】:Impersonating in .NET using Process.Start and UAC使用 Process.Start 和 UAC 在 .NET 中进行模拟
【发布时间】:2011-04-24 08:13:15
【问题描述】:

我正在尝试使用 Process.Start (System.Diagnostics) 方法的模拟选项从另一个需要提升的 .NET 程序运行程序。模拟用户是本地管理员。 O/S是2008,UAC是开启的。 每当调用进程启动时,我都会收到 Win32 权限错误:

“请求的操作需要提升”

【问题讨论】:

    标签: windows-server-2008 uac elevation process-elevation


    【解决方案1】:

    如果您正在调用的 .NET 应用程序在 app.manifest 中正确配置,则无需在 Process.Start 调用中指定任何内容 - UAC 将自动出现。

    app.manifest 设置:

    <requestedExecutionLevel level="requireAdministrator" uiAccess="false" />
    

    【讨论】:

    • 确保UseShellExecute 为真。
    • UseShellExecute 的默认值实际上是 true。但无论如何都是好点。
    【解决方案2】:

    【讨论】:

    • 不幸的是,这两个链接都没有帮助。从我目前所读到的内容看来,作为 UAC 的一部分,不可能打开一个模拟进程并同时提升它的运行。
    猜你喜欢
    • 2013-06-15
    • 1970-01-01
    • 2011-05-24
    • 1970-01-01
    • 2010-09-12
    • 2023-04-10
    • 2011-04-25
    • 2016-03-23
    相关资源
    最近更新 更多