когда я запускаю этот код
PrincipalContext ctx = new PrincipalContext(ContextType.Domain,
adHost,
adRoot,
ContextOptions.SimpleBind,
adUsername,
adPassword);
UserPrincipal user = UserPrincipal.FindByIdentity(ctx, IdentityType.SamAccountName, username);
user.SetPassword(password);
user.Save();
Я получаю это исключение
System.Reflection.TargetInvocationException: Exception has been thrown by the target of an invocation. ---> System.UnauthorizedAccessException: One or more input parameters are invalid
Код запускается из командной строки с помощью "runas / user: (domainadminuser также является локальнымadmin) Контекст создается с использованием тех же учетных данных (domainadminuser). Я проверил, правильно ли заполнены все имена пользователей, пароли и т. д. Это как-то связано с тем, как я создаю PrincipalContext?
Я полностьюЗастрял. У кого-нибудь есть какие-нибудь идеи?
Спасибо
[ОБНОВЛЕНИЕ] Вот код, который я использовал, чтобы заставить его работать. Я думаю, что, возможно, именно то, что выкинуло из ValidateCredentialsэто в жизнь (возможно)
PrincipalContext ctx = new PrincipalContext(ContextType.Domain, parameters["adHost"] );
ctx.ValidateCredentials(parameters["adUsername"], parameters["adPassword"], ContextOptions.SimpleBind);
UserPrincipal user = UserPrincipal.FindByIdentity(ctx, IdentityType.SamAccountName, username);
user.SetPassword(password);
user.Save();