尝试委派Active Directory C中的OU控件时,DirectoryServicesCOMException“发生操作错误”

时间:2013-07-02 17:14:32

标签: c# security networking active-directory

我正在尝试使用c#

为Active Directory中的组织单位“委派控制权”

我使用以下代码:

  try
        {

            using (DirectoryEntry deOU = new DirectoryEntry("LDAP://MYDOMAIN/OU=MYOU", "admin_user_on_domain", "password"))
            {
                NTAccount acctUser = new NTAccount("some_user");

                ActiveDirectoryAccessRule ruleReadWriteProp = new ActiveDirectoryAccessRule((IdentityReference)acctUser, ActiveDirectoryRights.GenericAll, AccessControlType.Allow);

                deOU.ObjectSecurity.AddAccessRule(ruleReadWriteProp);

                deOU.Options.SecurityMasks = SecurityMasks.Dacl;

                deOU.CommitChanges();
                Console.Write("DONE");
            }

        }


        catch (Exception ex)
        {
            //Do something with exception
        }

方案详情:

  1. Windows server 2008 R2。
  2. 项目目标(.net 2.0)
  3. 我正在通过LAN连接到服务器的机器上运行代码。
  4. 代码不是asp.net代码,它是原生的c#代码。
  5. 代码产生以下异常:

    System.DirectoryServices.DirectoryServicesCOMException
    Message: An operations error occurred.
    

    我试图在服务器上直接运行代码,出现同样的异常,请指教 感谢

1 个答案:

答案 0 :(得分:0)

尝试此链接http://sanjaymungar.blogspot.com/2010/07/impersonation-in-aspnet-causes.html

之间添加代码
using (HostingEnvironment.Impersonate())           
{
   //your code
}