Как установить срок действия пароля пользователя Active Directory - PullRequest
1 голос
/ 10 августа 2011

Я пишу приложение, которое связывается с Active Directory, и мне нужно проверить, как оно себя ведет, когда пароль учетной записи пользователя в Active Directory имеет только несколько дней до истечения срока его действия.

Поэтому мой вопрос таков: как мне установить дату окончания срока действия пароля определенной учетной записи пользователя Active Directory на дату, такую ​​как «сегодня + 2 дня» (конечно, без изменения политики истечения срока действия пароля!). Я ищу либо ручной способ сделать это, либо программное решение (например, на основе VBScript или C #).

Я уже попробовал эти два подхода:

  • Установите pwdLastSet с помощью ADSIEdit. Проблема: я могу изменить значение только на 0. Другие значения отклоняются с кодом ошибки 0x57 (неверный аргумент).

  • Использование IADsUser::PasswordExpirationDate: Проблема: установка PasswordExpirationDate завершается с ошибкой с кодом 0x800A01BD. (См. Пример кода ниже.)

Пример кода:

strUserName = "test97"
Set objUser = GetObject("LDAP://CN=" & strUserName & ",CN=Users,DC=mydomain,DC=com")
dtmDate = Now+2
objUser.PasswordExpirationDate = dtmDate 
objUser.SetInfo
MsgBox "Successfully changed password expiration date"

Ответы [ 2 ]

1 голос
/ 12 августа 2011

Это невозможно. Вы можете пометить пароль только как просроченный.

0 голосов
/ 10 августа 2011

Свойство PasswordExpirationDate равно только для чтения .

Возможно, я ошибаюсь, но я думаю, что вы можете либо установить срок действия пароля (используя pwdLastSet), либо изменить / сократить свойство maxPwdAge.

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