Exchange Server. Password Expiration Notification
이번에는 Exchange Server에서 사용자에게 Password 만료가 되기전에 알림 메일을 보내는 스크립트에 대해서 다뤄보도록 하겠습니다.
아래의 Tech Community의 글에서 과거 Technet Gallery에 업로드된 스크립트를 소개하고 있습니다.
How to Setup a Password Expiration Notification Email Solution - Microsoft Community Hub
다만, Technet 은 더 이상 운영되지 않기 때문에 해당 링크에는 접속할 수 없습니다.
다행히도 Script 제목을 키워드로 검색하면, 동일한 스크립트를 찾을 수 있습니다.
저는 아래의 GitHub 링크에서 다운로드 하였습니다.
GitHub - titlerequired/public: Scripts
압축 해제한 뒤, Exchange Server에서 폴더를 생성 -> 아래의 스크립트를 복사합니다.
Edit
[단계1] Configuration
Configuration 영역은 다음과 같습니다.
$testing = $True
- $True: Admin으로 지정된 계정에만 안내 메일이 발송됩니다. -> 테스트 목적
- $False: 실제 사용자들에게 안내 메일이 발송됩니다.
$SearchBase = "OU=Contoso.kr-AAD,DC=contoso,DC=kr"
- 대상 OU를 지정합니다.
$smtpServer="mail.contoso.kr"
- 발송 서버를 지정합니다.
$expireindays = 7
- 만료 안내 기준일
$from = "Password Notification <noreply-admin@contoso.kr>"
- 발송 주소 및 표시이름
$logging = $true
- 로깅 여부
$logFile = "c:\script\PS-pwd-expiry.csv"
로그 파일 위치
$adminEmailAddr = "onprem-1@contoso.kr","onprem-2@contoso.kr","onprem-3@contoso.kr"
- Admin 계정 지정
$sampleEmails = "all"
- 테스트 메일 개수 ex) "All", or 1,2,3,4,…
[단계2] Email Body 설정
아래의 영역을 조직 환경에 맞게 수정합니다.
Office 365를 이용하고, Write Back 기능이 활성화 되어 있으면 다음 링크로 안내합니다.
https://portal.microsoftonline.com/ChangePassword.aspx
ADFS를 사용하고 있다면 다음과 같은 형태로 ADFS Password Reset 페이지로 안내합니다.
https://sts.contoso.kr/adfs/portal/updatepassword
예시
[단계3] 테스트
Script를 실행하면 다음과 같이 진행 되며, 메일이 발송됩니다.
로그 파일을 통해서 발송된 이력을 확인할 수 있습니다.
테스트 모드를 $false로 설정하면, 아래와 같이 사용자 사서함에서 수신된 내용을 확인할 수 있습니다.
해당 스크립트 테스트가 완료되면, 스케쥴러에 등록하여 발송 주기를 지정합니다.