在 ASP.NET 4.0 中执行 AD 搜索时收到 COM 异常:发生操作错误 (0x80072020)
线程Active Directory COM 异常 - 发生操作错误 (0x80072020) 为我指明了正确的方向 - 所描述的问题与权限相关。
作为一种解决方法,我将应用程序池标识从 ApplicationPoolIdentity 切换到 NetworkService,并且能够正确执行查询。令人困惑的部分是,在同一域上的另一个 IIS7 网络服务器上,我能够将应用程序池标识保留为 ApplicationPoolIdentity。
使用 ApplicationPoolIdentity 使这个查询工作我缺少什么吗?
FWIW,代码相当简单:
PrincipalContext context = new PrincipalContext(ContextType.Domain, theDomain);
UserPrincipal p_up = new UserPrincipal(context);
p_up.GivenName = "John"; //error occurred here
p_up.Surname = "Doe";
PrincipalSearcher ps = new PrincipalSearcher(p_up);
PrincipalSearchResult<Principal> psr = ps.FindAll();