系统运维
豆子公司是上市公司,每年都需要审计。因此离职用户的信息不能删掉,只能使残废掉。有的时候,桌面需要把一个离职用户的邮件重新添加到另一个用户的别名,以便继续接收邮件。但是Office365默认配置情况下一个已经使残废掉的用户,不管怎么改他都不会继续同步,这样造成的结果就是桌面经常修改的顺序不对,造成了本地的广告已经改了,但是修改的东西不会同步到办公室365,或者直接office365认为已经有记录了,拒绝添加新的记录。
鉴于桌面支持的不靠谱,豆子每天都需要看看同步状态,然后通知桌面修改。登录主界面,然后点击目录同步错误就能看见了
冲突的简单邮件传输协议地址记录
如何能自动获取这个界面呢?豆子刚开始找了半天的API,始终没找到,甚至都开始打爬虫的注意了,后来终于找到了相关的命令
https://份文件。微软。com/en-us/powershell/module/ms online/get-msoldirsyncprovisioningerror?view=azure ads-1.0
下面是完整的脚本
Get-PSSession | Remove-PSSession
$用户名=aaa@bbb.com
$ securestringd=convert to-SecureString-AsPlainText密码-强制
$creds=新对象系统管理。自动化。PS凭据-参数列表$ username,$ secureStringPwd
connect-msol服务-Credential $用户凭据
$ Session=New-PS Session-configuration name Microsoft .交换-连接尤里https://outlook.office365.com/powershell-liveid/-凭据$ creds-基本身份验证-允许重定向
Import-PSSession $Session
$ result=Get-MsolDirSyncProvisioningError | select显示名称,LastDirSyncTime,ObjectId,ObjectType,@{n=\\\'Error\\\ 'e={ $ _。设置错误。错误类别} },UserPrincipalName
$ from=helpdesk@bbb.com
美元兑aaa@bbb.com
$ SMTP=smtp.office365.com
$sub=Office365同步错误
$ sec passwd=convert to-SecureString Password-AsPlainText-Force
$mycreds=新对象系统管理。自动化。PS凭据($ from,$secpasswd)
$a=风格
$a=$a BODY{background-color:淡紫色;}
$a=$a表格{边框宽度:1px边框样式:纯色;边框颜色:黑色;边框-塌陷:塌陷;}
$ a=$ a TH { border-width:1px;填充:0px边框样式:纯色;边框颜色:黑色;背景色:蓟}
$ a=$ a TD { border-width:1px;填充:0px边框样式:纯色;边框颜色:黑色;背景色:PaleGoldenrod }
$a=$a /style
# import-CSV C:\ \ \ \ scripts \ \ \ \ users。CSV |转换器-Html-正文H1用户列表/H1-Head $ a | out-file C:\ \ \ \ temp \ \ \ \ TT。超文本标记语言
$ Html Body=$ result | ConvertTo-Html-Body H1 office 365目录同步错误/H1 H2有关详细信息,请访问https://门户。办公室。com/admin portal/home #/dirsyncobjecterrors/H2-Head $ a
send-mail message-To $ To-From $ From-Subject $ sub-Body($ html Body | Out-String)-Credential $ myc reds-SMTP server $ SMTP-delivery notification option Never-Body ash html-use SSL-port 587
收到邮件通知
成功之后设置一个计划任务
$ settings path=\ \ \ ' C:\ \ \ \ users \ \ \ \元。李\ \ \ \ Documents \ \ \ \ GitHub \ \ \ \ Powershell \ \ \ \ syncerrornotification。PS1 \ \ \ '
if(Get-计划任务-TaskName \ \ \ '同步通知\ \ \ '-错误操作静默继续){
取消注册-计划任务-TaskName \ \ \ '同步通知\ \ \ '-确认:$false
}
$ Action=New-scheduled task Action-Execute \ \ \ ' C:\ \ \ \ Windows \ \ \ \ System32 \ \ \ \ Windows powershell \ \ \ \ v 1.0 \ \ \ \ powershell。exe \ \ \ '-参数-执行策略绕过-文件\ \ \ ' $设置路径\ \ \ '
$ Trigger=New-计划任务触发器-每日-在\ \ \ ' 10AM \ \ \ '时
注册-计划任务-操作$操作-触发器$触发器-设置(New-scheduledtasksettingset-兼容win 8)-用户\ \ \ ' aa \ \ \ '-密码\ \ \ '通过\ \ \ '-运行级别更高-TaskName \ \ \ '同步通知\ \ \ '
开始-计划任务-任务名\\\ '同步通知
结果如下
更多关于云服务器,域名注册,虚拟主机的问题,请访问西部数码代理商官网:www.chenqinet.cn