我有一个本地用户,它的成员管理人员当地基。

当我运行这个代号:

using System;
using System.DirectoryServices;

namespace nanttest
{
    class Program
    {
        public static void Main(string[] args)
        {
            using(DirectoryEntry entry = new DirectoryEntry("IIS://localhost/W3SVC"))
            {
                object absobject = entry.NativeObject;
                Console.WriteLine("Name: {0}", entry.Name);
            }

            Console.Write("Press any key to continue . . . ");
            Console.ReadKey(true);
        }
    }
}

我收到:

未经处理的例外情况:系统。运行时间。InteropServices.COMException (0x80070005):访问被拒绝。

在 系统。DirectoryServices.DirectoryEntry.Bind(布尔 throwIfFail)在 系统。DirectoryServices.DirectoryEntry.Bind() 在 系统。DirectoryServices.DirectoryEntry.get_NativeObject() 在nanttest.程序。主(String[] args)在 c:\工作 anttest anttest\程序。cs:线 20

如果我经营这个代码,登录时,作为管理员,其工作确定。

此外,这个代码失败,如果我运行它登录作为一个DomainAdmin用户。我已经加入程序\DomainAdmins和程序\mydomainuser作为成员的当地管理人员小组。

什么其他的权限,我应该增加用于这些用户,使他们能够运行这个代码。

有帮助吗?

解决方案

回答我自己的问题,这样别人可以找到一个解决方案:

问题是,与默认UAC设置Windows2008年。甚至如果一个用户有管理员小组,他/她仍然需要提升的权限进行一些行动(一个以上出现在他们)。

因此,解决方案1-运行的应用程序使用"作为管理员运行",或开始从一个命令,这是开始与这一选择。

解决方案2:禁止UAC管理员组-我已经使用的方法#3 这篇文章 (组的政策改变)。记住要重启服务器之后,这些变化。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top