為Office365增加密碼過期自動提醒功能


最近有人和我反應,無法查看所有員工的Office365的密碼過期時間。最好可以批量查看,如果能在過期前幾天發個提醒郵件就更好了。

$pw = ConvertTo-SecureString 'your_pwd' -AsPlainText -Force
$creds = New-Object -Typename System.Management.Automation.PSCredential -Argumentlist 'your_id@company.cn', $pw
$mailpw = ConvertTo-SecureString 'your_pwd' -AsPlainText -Force
$mailcreds = New-Object -Typename System.Management.Automation.PSCredential -Argumentlist 'your_mail', $mailpw

Connect-MsolService -Credential $creds
$now = Get-Date
#get-msoluser  | select UserPrincipalName, @{name='lastpasswordchangetimestamp';expression={$_.lastpasswordchangetimestamp.tostring().split(' ')[0]}} | Export-Csv -Path f:\lastpasswordchangetimestamp.csv -Encoding Default

$smtpserver = "your_smtp_server"
$sender = "your_mail"
$cc = "servicedesk@company.cn"
$body = ‘
<html><body>
<h1>提醒</h1>
您的Office 365賬號密碼即將過期,逾期不修改密碼您將無法繼續使用郵件功能。關於如何修改Office 365賬號密碼,請訪問<a href="https://company.sharepoint.cn/IT/IT1/Office 365/如何更改office 365密碼.docx?d=w6b52d070c5db4d518e76e726fffafbdc">這里</a>。
</body></html>
’
Get-MsolUser | select UserPrincipalName, @{name='delta';expression={($now - $_.lastpasswordchangetimestamp).days}} | foreach {
    if ($_.delta -ge 355) {
        $to = $_.UserPrincipalName
        $subject = "您的Office 365賬號密碼在" + (365 - $_.delta) + "天后即將過期,請及時修改!" 
        Send-MailMessage -SmtpServer $smtpserver -Credential $mailcreds -From $sender -To $to -Cc $cc -Subject $subject -Body $body -BodyAsHtml -Encoding default
        Write-Host $to, "mail sent!"
    }
}

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM