PowerShell 脚本通知Office365 同步错误
发表于:2025-02-24 作者:千家信息网编辑
千家信息网最后更新 2025年02月24日,豆子公司是上市公司,每年都需要审计。因此离职用户的信息不能删掉,只能disable掉。有的时候,桌面需要把一个离职用户的邮件重新添加到另一个用户的别名,以便继续接收邮件。但是Office365默认配置
千家信息网最后更新 2025年02月24日PowerShell 脚本通知Office365 同步错误
豆子公司是上市公司,每年都需要审计。因此离职用户的信息不能删掉,只能disable掉。有的时候,桌面需要把一个离职用户的邮件重新添加到另一个用户的别名,以便继续接收邮件。但是Office365默认配置情况下 一个已经disable掉的用户,不管怎么改他都不会继续同步,这样造成的结果就是桌面经常修改的顺序不对,造成了本地的AD已经改了,但是修改的东西不会同步到office365, 或者直接office365认为已经有记录了,拒绝添加新的记录。
鉴于桌面支持的不靠谱,豆子每天都需要看看同步状态,然后通知桌面修改。登录主界面,然后点击DirSync Errors就能看见了
冲突的smtp地址记录
如何能自动获取这个界面呢?豆子刚开始找了半天的API,始终没找到,甚至都开始打爬虫的注意了,后来终于找到了相关的命令
https://docs.microsoft.com/en-us/powershell/module/msonline/get-msoldirsyncprovisioningerror?view=azureadps-1.0
下面是完整的脚本
Get-PSSession | Remove-PSSession$username = "aaa@bbb.com"$secureStringPwd = ConvertTo-SecureString -AsPlainText "password" -Force$creds = New-Object System.Management.Automation.PSCredential -ArgumentList $username, $secureStringPwdConnect-MsolService -Credential $UserCredential$Session = New-PSSession -ConfigurationName Microsoft.Exchange -ConnectionUri https://outlook.office365.com/powershell-liveid/ -Credential $creds -Authentication Basic -AllowRedirectionImport-PSSession $Session$result=Get-MsolDirSyncProvisioningError | select Displayname, LastDirSyncTime, ObjectId, ObjectType, @{n='Error';e={$_.ProvisioningErrors.ErrorCategory}}, UserPrincipalName$from = "helpdesk@bbb.com"$to = "aaa@bbb.com"$smtp = "smtp.office365.com" $sub = "Office365 Sync Error" $secpasswd = ConvertTo-SecureString "Password" -AsPlainText -Force $mycreds = New-Object System.Management.Automation.PSCredential ($from, $secpasswd)$a = ""#import-csv C:\scripts\users.csv | ConvertTo-Html -Body " User List
" -Head $a | out-file C:\temp\tt.html$htmlbody=$result| ConvertTo-Html -Body " Office365 DirSync Errors
For Further details, please visit https://portal.office.com/adminportal/home#/dirsyncobjecterrors
" -Head $aSend-MailMessage -To $to -From $from -Subject $sub -Body ($htmlbody|Out-String) -Credential $mycreds -SmtpServer $smtp -DeliveryNotificationOption Never -BodyAsHtml -UseSsl -port 587
收到邮件通知
成功之后设置一个计划任务
$settingspath='C:\users\yuan.li\Documents\GitHub\Powershell\SyncErrorNotification.ps1'if (Get-ScheduledTask -TaskName 'SyncNotification' -ErrorAction SilentlyContinue){ Unregister-ScheduledTask -TaskName 'SyncNotification' -Confirm:$false}$Action = New-ScheduledTaskAction -Execute 'C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe' -Argument "-executionpolicy bypass -File '$settingspath'" $Trigger = New-ScheduledTaskTrigger -Daily -At '10AM'register-ScheduledTask -Action $Action -Trigger $Trigger -Settings (New-ScheduledTaskSettingsSet -Compatibility Win8) -User 'aa' -Password 'pass' -RunLevel Highest -TaskName 'SyncNotification'Start-ScheduledTask -TaskName 'SyncNotification
结果如下
桌面
用户
同步
豆子
邮件
公司
界面
结果
脚本
不对
成功
上市公司
东西
任务
信息
别名
命令
地址
就是
情况
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
江西网络安全警示教育
武汉市网络安全官网
广东计算机网络技术插本考什么
达州国家网络安全宣传周活动
华为服务器uc2错误
完美日记电商服务器改造
网络安全维护员是做什么的
cmn软件开发
软件开发模型中的瀑布模型
武穴app软件开发
计算机网络技术的前沿动态
软件开发需要到税局备案吗
vim服务器连接失败
深圳酷通网络技术有限公司
白酒风味物质标准化数据库
一台服务器多少个jvm
中兴软件开发跳槽工资待遇
网络安全法第67条
跟网络安全相关的项目
陆星润网络安全
软件开发软件开发就业方向
游无法连接服务器
小米智能家居是用什么软件开发的
违反网络安全法二十七条处罚五年
服务器安全高级运维工程师
咪兔视频连接服务器失败
国泰安数据库怎样导入公司代码
网站建设与数据库管理
计算机网络安全检查登记表
深圳三圆互联网科技有限公司