[문의사항]
패스워드 변경을 최근 7일 이전에 한 경우 패스워드 변경 메시지를 나타나게 구성하는 방법 문의
[문의답변]
특정 OU 밑의 사용자 계정의 값을 확인하여 최근 패스워드 변경이 7일 이전인 사용자 계정에게 아래 값을 일괄 적용 합니다.
Clear-Host
Import-Module ActiveDirectory
# ou=gsoft,DC=gsoft,DC=local 값을 원하는 위치로 변경
$accountName = Get-ADUser -SearchBase "ou=gsoft,DC=gsoft,DC=local" -Filter * | select samaccountname
foreach ($user in $accountName.samaccountname)
{
#PasswordLastSet 값을 $pls에 넣기
$pls = (Get-ADUser -identity $user -Properties PasswordLastSet).PasswordLastSet
#현재 날짜 기준으로 7일 이전 일자를 $today7 변수에 넣기
$today7 = (Get-Date).addDays(-7)
if($pls){
if ($pls -gt $today7 ){
#대상 사용자 정보 표시
Write-Host $user
#[암호 사용 기간 제한 없음] 값 체크 해제
Set-ADAccountControl $user -PasswordNeverExpires $false
#[다음 로그온 시 사용자가 반드시 암호를 변경해야 함] 값 체크
Set-ADUser -Identity $user -ChangePasswordAtLogon $True
}
}
}
적용 전
적용 후 아래 두개의 계정이 적용됨을 확인 함.
댓글