이번에는 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로 설정하면, 아래와 같이 사용자 사서함에서 수신된 내용을 확인할 수 있습니다.
해당 스크립트 테스트가 완료되면, 스케쥴러에 등록하여 발송 주기를 지정합니다.
'Exchange' 카테고리의 다른 글
[ChatGPT] Exchange Server. Get-MessageTrackingLog Script를 Windows Form 형태로 제작 (0) | 2023.03.14 |
---|---|
Exchange Online. Cross-tenant mailbox migration (0) | 2023.02.06 |
Exchange Online. Enhanced Filtering for Connectors (0) | 2022.12.27 |
Exchange Online. Increasing mail flow security posture (MEC003WS) (1) (0) | 2022.11.10 |
Exchange Online. MTA-STS (0) | 2022.10.02 |