• 为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!"
        }
    }
  • 相关阅读:
    Jquery.validate.js表单验证插件的使用
    UEditor编辑文章出现多余空行问题的解决办法
    jQuery问题:$XXX is not a function
    PHP+memcache扩展(集成环境wampserver环境下)
    Provider 错误 '80004005' 未指定的错误 /conn.asp,行 23
    PHP+MD5
    Mysql(Mariadb) 基础操作语句 (持续更新)
    什么是存储引擎以及不同存储引擎特点
    微信网页授权(OAuth2.0) PHP 源码简单实现
    字符集和字符集编码详解
  • 原文地址:https://www.cnblogs.com/IvanChen/p/5502258.html
Copyright © 2020-2023  润新知