본문 바로가기
기술자료 (KB)/Active Directory (AD)

Powershell [다음 로그온 시 사용자가 반드시 암호를 변경해야 함] 변경

by 이완주 2020. 4. 3.

[문의사항]

패스워드 변경을 최근 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   
               
        }
    }
}

적용 전

 

적용 후 아래 두개의 계정이 적용됨을 확인 함.

 

 

댓글