【问题标题】:Addressing "Access Denied" Exception with WMI Calls使用 WMI 调用解决“拒绝访问”异常
【发布时间】:2011-03-02 12:05:15
【问题描述】:

在针对 WMI 请求执行时,我收到一条异常消息“拒绝访问”。某些 WMI 请求似乎需要比其他请求更高的安全权限。最终我的目标是监控系统内的进程启动并记录。不管是否有更好的方法,它现在都成为了让这种 WMI 方法发挥作用的一种仇杀。

我尝试了Security Tools -> WMI Programming Using C#.Net 的代码,但仍然收到异常。如果您复制博客条目中的代码,您可以重现我的问题。

可以在link text 找到有关类似主题的另一篇文章,但再次尝试代码,您将看到相同的安全异常。

如何允许我的代码执行这些 WMI 请求?

我在一个新的 C# 命令行项目中在 Windows 7 Pro 和 VS 2010 上运行。

编辑: 为 VS2010 实例选择“以管理员身份运行”,然后执行代码即可。如何自动执行此操作,以便用户不必手动提升权限?

【问题讨论】:

    标签: c# .net windows security wmi


    【解决方案1】:

    其中一些 WMI 调用可能需要管理员权限。您是否尝试右键单击您的 .exe 文件并选择“以管理员身份运行”?

    Add a manifest 到您的程序,以便它始终以管理员权限运行。 Here 是另一个更重要的链接。

    【讨论】:

    • 是的,为 VS2010 实例选择“以管理员身份运行”,然后执行代码即可。如何自动执行此操作,以便用户不必手动提升权限? (编辑问题以反映这一点)。
    • Nims - 感谢您提供的信息。我已按照说明操作,我可以手动执行清单应用程序 (mt.exe) 来创建带有嵌入式清单的 .exe。但是,使用构建后步骤不起作用。我什至根据页面中的 cmets 对其进行了修改 - 有什么想法吗?它总是出现“......退出代码3”的错误。
    • 错误 3 是“系统找不到指定的路径。”看看给出 mt.exe 的绝对路径是否可以解决问题。这里有一个关于这个错误的堆栈溢出问题:stackoverflow.com/questions/2505612/…
    【解决方案2】:
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-12-01
    • 2012-11-15
    • 1970-01-01
    • 2015-05-26
    • 1970-01-01
    • 2021-02-23
    • 1970-01-01
    相关资源
    最近更新 更多