我的博客园:https://www.cnblogs.com/CQman/
如何自动实现本地AD中禁用的用户从地址列表中隐藏掉?
需求信息:
用户本地AD用户通过ADConnect同步到O365,用户想实现在本地已做同步的OU中禁用某一用户后,其可以自动实现把该用户从地址列表中隐藏掉。
用户的ADConnect同步工具装在域控服务器上。
解决方法:
思路概述:在本地中启用一个计划任务,在特定事件下触发运行powershell脚本,通过powershell命令检测本地AD中已禁用用户的enabled和msExchHideFromAddressLists属性值,并更改msExchHideFromAddressLists和mailnickname的属性值,然后使用Start-ADSyncSyncCycle -PolicyType Delta命令触发同步。
操作步骤:
Set-Executionpolicy -executionPolicy Unrestricted -force
Get-ADUser -Filter {(enabled -eq "false") -and (msExchHideFromAddressLists -notlike "*")} -SearchBase "OU=G10,DC=ttt,DC=com" -Properties msExchHideFromAddressLists `
| % { Set-ADUser -Identity $_.samaccountname -Replace @{msExchHideFromAddressLists=$true} ;Set-ADUser -Identity $_.samaccountname -Replace @{mailnickname="$($_.samaccountname)"} }
Start-ADSyncSyncCycle -PolicyType Delta
图形界面方式:
Log: Security
Source: Microsoft Windows security auditing
Event ID : 4725
备注:正常情况下我们的任务计划执行后会有反馈数值:
13. 效果验证
禁用前
禁用后
禁用T23用户,触发系统安全事件日志
计划任务也自动触发并成功执行。
检查用户的mailnickname和msExchHideFromAddressLists属性值均发生更改。
云端O365中的用户已经被Blocked
查看Exchange用户中的Hide address list