不能在ActiveDirectory中创建PrincipalContext
本文关键字:创建 PrincipalContext ActiveDirectory 不能 | 更新日期: 2023-09-27 18:08:19
我正在使用来自。net Forms应用程序的这段代码来尝试创建一个PrincipalContext对象。
var oPrincipalContext = new PrincipalContext(
ContextType.Domain,
"mydomain.workgroup",
"CN=users,CN=mydomain,CN=workgroup",
ContextOptions.Bind,
"ADAdmin",
"ADAdminPassword");
我也试过这个,但得到同样的错误。
var oPrincipalContext = new PrincipalContext(
ContextType.Domain,
"mydomain.workgroup",
"CN=users,CN=mydomain,CN=workgroup",
ContextOptions.Negotiate,
"ADAdmin",
"ADAdminPassword");
我也尝试了ADAdmin@mydomain.workgroup
作为用户id。
我得到这个错误
Message=An operations error occurred.
StackTrace= at System.DirectoryServices.AccountManagement.PrincipalContext.DoLDAPDirectoryInit()
at System.DirectoryServices.AccountManagement.PrincipalContext.DoDomainInit()
at System.DirectoryServices.AccountManagement.PrincipalContext.Initialize()
at System.DirectoryServices.AccountManagement.PrincipalContext.get_ConnectedServer()
at WindowsFormsApplication1.Form1.button1_Click(Object sender, EventArgs e)
InnerException=An operations error occurred.
StackTrace= at System.DirectoryServices.DirectoryEntry.Bind(Boolean throwIfFail)
at System.DirectoryServices.DirectoryEntry.Bind()
at System.DirectoryServices.DirectoryEntry.get_SchemaEntry()
at System.DirectoryServices.AccountManagement.ADStoreCtx.IsContainer(DirectoryEntry de)
at System.DirectoryServices.AccountManagement.ADStoreCtx..ctor(DirectoryEntry ctxBase, Boolean ownCtxBase, String username, String password, ContextOptions options)
at System.DirectoryServices.AccountManagement.PrincipalContext.CreateContextFromDirectoryEntry(DirectoryEntry entry)
at System.DirectoryServices.AccountManagement.PrincipalContext.DoLDAPDirectoryInit()
我以AD中具有DomainAdmin权限的用户身份登录。
我正在运行此程序的计算机在AD中具有DomainAdmin权限。
这个链接有一个解决方案,但它是IIS
,它不适合我。
既然您已经提到用户已经具有管理员权限,那么您只需要指定ContextType
和您的Domain
。
PrincipalContext ctx = new PrincipalContext(ContextType.Domain, "yourdomain.com");