Назад | Перейти на главную страницу

AD сбрасывает пароли пользователей для группы безопасности

Я не совсем уверен, возможно ли это или нет, но мне нужно заставить пользователей определенной группы безопасности истечь срок действия своих паролей, чтобы они были вынуждены изменить их при следующем входе в систему. Причина этого в том, что я применил FGPP (политику паролей) к этой конкретной группе, чтобы обеспечить надежные пароли. Что ж, у многих пользователей действительно слабые пароли, и они не будут изменены, если их не заставят.

Есть ли способ сделать это, не заставляя всех вводить один пароль?

Вы можете сделать это в Powershell и Set-ADUser. Измените флаг ChangepasswordatLogon на True.

Это выглядело бы примерно так:

Get-ADuser -Filter {memberof -RecursiveMatch "DN of Security Group"} | Set-ADuser -ChangePasswordatLogon:$true

Вот вариант командной строки:

for /f "delims=" %a in ('dsquery group -name "<INSERT_GROUP_NAME_HERE>" ^| dsget group -members -expand') do (
   dsmod user %a -mustchpwd yes
)

Если вы предпочитаете vbscript, хотя почему бы не использовать Powershell: поиск по запросу «vbscript set AD password to expired» дал эту статью: Как я могу вызвать истечение срока действия пароля пользователя?

Лично не тестировал. Пример кода vbscript:

Set objUser = GetObject("LDAP://CN=myerken,OU=Finance,DC=Fabrikam,DC=com")

objUser.pwdLastSet = 0
objUser.SetInfo

Вы можете объединить это с другим кодом, чтобы получить список пользователей из группы безопасности (используйте группу безопасности CN = в запросе LDAP) и перебрать их, применяя истечение срока действия пароля. Это хороший пример того, что было найдено при поиске "vbscript getobject security group": Получите всех пользователей в определенной группе AD с помощью VbScript