Я использую этот код из приложения .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");
Я также пробовал [email protected]
в качестве идентификатора пользователя.
я получаю эту ошибку
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()
Я вошел в систему как пользователь с привилегиями DomainAdmin в AD.
Компьютер, с которого я это запускаю, имеет привилегии DomainAdmin в AD.
По этой ссылке есть решение, но оно предназначено для IIS
и это не сработало для меня.
Это решение тоже не работал.
PrincipalContext ctx = new PrincipalContext(ContextType.Domain, "yourdomain.com", "CN=users,CN=mydomain,CN=workgroup", ContextOptions.SecureSocketLayer | ContextOptions.Negotiate, userName, password);
Поскольку у вас уже есть права администратора, просто попробуйте выполнить привязку, просто указав имя домена.PrincipalContext ctx = new PrincipalContext(ContextType.Domain, "yourdomain.com");
- person smr5   schedule 18.08.2015SecureSocketLayer
и получил эту ошибкуThe ContextOptions passed are invalid for this store type. Either Negotiate or SimpleBind must be specified and they cannot be combined.
- person Heinrich   schedule 18.08.2015SSL
. ПопробуйтеSimpleBind
. - person smr5   schedule 18.08.2015