【问题标题】:Cannot connect to the ManagementScope via C#. Access denied无法通过 C# 连接到 ManagementScope。拒绝访问
【发布时间】:2011-05-15 02:59:12
【问题描述】:

我正在尝试按如下方式连接到 ManagementScope:

ManagementScope scope = new ManagementScope( @"\\mydomain\root\RSOP\Computer"));
scope.Connect();

但如果当前用户不是域管理员,则会引发异常 (Exception from HRESULT: 0x80070005 (E_ACCESSDENIED))。一个简单的域用户如何连接到这个管理范围?

谢谢。

【问题讨论】:

  • 不能!它需要是域管理员 - 按照设计。
  • 我也这么认为...但是我可以通过 GPMC 作为简单的域用户读取域密码策略设置。 GPMC 是怎么做到的?

标签: c# .net asp.net windows active-directory


【解决方案1】:

试试这个.....

ConnectionOptions con = new ConnectionOptions();
                  con.Username = "Administrator";
                  con.Password = "Password";

ManagementScope scope = new ManagementScope(@"\\" + strIPAddress + @"\root\cimv2", con);
                scope.Connect();

【讨论】:

    【解决方案2】:

    不幸的是,您不能不提升域用户的权限。

    如果您正在编写可部署的应用程序,您可以在托管 WCF 或远程应用程序的 Windows 服务中沙盒 WMI 访问。

    此服务将配置为在具有足够权限访问 WMI 的帐户下运行。您的 WCF/Remoting 应用程序将公开您需要通过包装方法访问的任何功能或数据。这些方法可以由没有提升权限的客户端应用程序调用。

    【讨论】:

    • 我也这么认为...但是我可以通过 GPMC 作为简单的域用户读取域密码策略设置。 GPMC 是怎么做到的?
    • @Eric - 纯猜测:如果用户设置了新密码,您需要能够阅读密码策略以确保它符合策略。
    猜你喜欢
    • 1970-01-01
    • 2018-02-05
    • 2013-06-30
    • 1970-01-01
    • 1970-01-01
    • 2017-10-05
    • 2015-03-26
    • 1970-01-01
    • 2021-03-16
    相关资源
    最近更新 更多