Найти тему

Как средствами Powershell решить вопрос с учетными записями, у которых пароль задан очень давно, обновить дату задания пароля на текущую

Добрый день. В процессе наведения порядка бывают случаи когда в домене парольная политика была бессрочной, либо у учетных записей пароль не истекал. Чтобы не заставлять пользователей менять пароль незамедлительно можно решить этот вопрос элегантнее. Например сбросить дату задания пароля на текущую, и убрать (если такое имеет место быть) галочку с атрибута "о не истечении пароля", чтобы он смог подчинятся обычным парольным политикам.

Можете проверить это на отдельном пользователи, чтобы убедиться, что это работает:

#Samaccountname вашего пользователя
$UserName = 'UserName'
$User = Get-Aduser $UserName -pro pwdLastSet,PasswordExpired,PasswordLastSet,PasswordNeverExpires, PasswordNotRequired
$User | Select pwdLastSet,PasswordExpired,PasswordLastSet,PasswordNeverExpires, PasswordNotRequired | ft
Дата задания пароля до обработки
Дата задания пароля до обработки
Видим что задано "Password never experies"
Видим что задано "Password never experies"
Set-ADUser $UserName -Replace @{pwdLastSet='0'}
$User1 = Get-Aduser $UserName -pro pwdLastSet,PasswordExpired,PasswordLastSet,PasswordNeverExpires, PasswordNotRequired
$User1 | Select pwdLastSet,PasswordExpired,PasswordLastSet,PasswordNeverExpires, PasswordNotRequired | ft
Мы фактически очистили дату задания пароля
Мы фактически очистили дату задания пароля
#Убираем галку не истечения пароля
Set-ADUser $UserName -PasswordNeverExpires:$false
$User2 = Get-Aduser $UserName -pro pwdLastSet,PasswordExpired,PasswordLastSet,PasswordNeverExpires, PasswordNotRequired
$User2 | Select pwdLastSet,PasswordExpired,PasswordLastSet,PasswordNeverExpires, PasswordNotRequired | ft
При таком наборе значений у пользователя будет запрашивать новый пароль, при вводе старого
При таком наборе значений у пользователя будет запрашивать новый пароль, при вводе старого
User must change password at next logon
User must change password at next logon
#А вот и магия, задающая для пароля текущую дату:
Set-ADUser $UserName -Replace @{pwdLastSet='-1'}
$User3 = Get-Aduser $UserName -pro pwdLastSet,PasswordExpired,PasswordLastSet,PasswordNeverExpires, PasswordNotRequired
$User3 | Select pwdLastSet,PasswordExpired,PasswordLastSet,PasswordNeverExpires, PasswordNotRequired | ft
Дата задания пароля стала на текущую дату и время
Дата задания пароля стала на текущую дату и время
И такой набор атрибутов
И такой набор атрибутов

Спасибо за внимание. Лайк, подписка.