Проблема с C #, вызывающим функцию SetPassword ActiveDirectory - PullRequest
2 голосов
/ 19 мая 2011

Я успешно создаю нового пользователя, а затем пытаюсь установить его первоначальный пароль, используя следующий код:

newUser.AuthenticationType = AuthenticationTypes.Secure;
newUser.Invoke("SetPassword", new object[] { "somepassword" });
newUser.Properties["LockOutTime"].Value = 0; //unlock account

Когда он (в конце концов) возвращается, я получаю следующее исключение

System.IO.FileNotFoundException: The network path was not found

Если я проверяю объект 'newUser', у него есть атрибут Path, который мне подходит.

Я не думаю, что мой экземпляр AD доступен через SSL, хотя я могу подключиться только кчерез порт 389. Это как-то связано с этим?

Любая помощь приветствуется, я новичок в AD и изо всех сил ...

Спасибо

1 Ответ

2 голосов
/ 19 мая 2011

Как предлагается здесь , вы можете добиться большего успеха с новым и улучшенным пространством имен System.DirectoryServices.AccountManagement.

// establish context for local machine 
PrincipalContext ctx = new PrincipalContext(ContextType.Machine);

// find the account
UserPrincipal user = UserPrincipal.FindByIdentity(ctx, "YourUser");

// set the password to a new value 
user.SetPassword("new-top-secret-password"); 
user.Save();

marc_s предоставляет более подробные сведения в ОП.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...