如何自动实现本地AD中禁用的用户从地址列表中隐藏掉?
我的博客园:https://www.cnblogs.com/CQman/
如何自动实现本地AD中禁用的用户从地址列表中隐藏掉?
需求信息:
用户本地AD用户通过ADConnect同步到O365,用户想实现在本地已做同步的OU中禁用某一用户后,其可以自动实现把该用户从地址列表中隐藏掉。
用户的ADConnect同步工具装在域控服务器上。
解决方法:
思路概述:在本地中启用一个计划任务,在特定事件下触发运行powershell脚本,通过powershell命令检测本地AD中已禁用用户的enabled和msExchHideFromAddressLists属性值,并更改msExchHideFromAddressLists和mailnickname的属性值,然后使用Start-ADSyncSyncCycle -PolicyType Delta命令触发同步。
操作步骤:
- 复制一下powershell 命令,把OU=G10,DC=ttt,DC=com更改为自己的Active Directory路径并保存为一个Powershell脚本文件。
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
- 在装有ADConnect同步工具的域控服务器上创建计划任务。
图形界面方式:
- 输入“msc”命令打开“Task Scheduler”控制面板。

- 打开“任务计划程序”,点击右边的“创建基本任务”。

- 填写名称及描述信息

- 当禁用AD用户时,在本地的域控制器上会触发一个事件日志

- 选择触发类型

- 填写Log、Source、EventID
Log: Security
Source: Microsoft Windows security auditing
Event ID : 4725

- 选择操作类型

- “程序或脚本”这里要填写Powershell程序的路径,如图中地址;在“添加参数”,这里需要写上:C:\automatically_hide_address_list.ps1 在起始项中填写脚本所在文件夹路径

- 勾选图中位置选项,点击下一步。

- 用户那里要使用Administrator管理员权限,这个权限最大,不容易出现:权限不足的报错。勾选“不管用户是否登录都要运行”和“使用最高权限运行”。

- 输入管理员密码

- 创建完成后就可以在计划任务面板中看到该计划。

备注:正常情况下我们的任务计划执行后会有反馈数值:
- 代码 0 或 0x0:操作成功完成。
- 代码 1 或 0x1:调用的函数不正确或调用了未知函数。
- 代码 10 或 0xa:环境不正确。
- 代码 0x8009000f:常规访问被拒绝
13. 效果验证
禁用前


禁用后
禁用T23用户,触发系统安全事件日志

计划任务也自动触发并成功执行。

检查用户的mailnickname和msExchHideFromAddressLists属性值均发生更改。


云端O365中的用户已经被Blocked

查看Exchange用户中的Hide address list

如何自动实现本地AD中禁用的用户从地址列表中隐藏掉?的更多相关文章
- Delphi for iOS开发指南(6):在iOS应用程序中使用ComboBox组件来从列表中选择某一项
http://blog.csdn.net/delphiteacher/article/details/8924110 Delphi for iOS开发指南(6):在iOS应用程序中使用ComboBox ...
- chmod a+w . 权限控制 su、sudo 修改文件所有者和文件所在组 添加用户到sudoer列表中 当前用户信息
对当前目录对所有用户开放读写权限 chmod a+r . $ sudo chmod -R a+w /usr/lib/python2.7 所有用户添加文件的写权限 [linux]su.sudo.sudo ...
- 在ASP.Net环境中,当用户点击报表中的超链接时如何调用Java Script方法?
问题描述:在ASP.Net环境中,当用户点击报表中的超链接时如何调用Java Script方法? 问题解答: 你可以在TextObject.Hyperlink对象中编写js代码(javascript: ...
- AWT提供了Java Applet 和Java Application中可用的用户图形界面 GUI 中的基本组件
AWT提供了Java Applet 和Java Application中可用的用户图形界面 GUI 中的基本组件( component s). 由于Java是一种独立于平台的 程序设计语言 ,但GUI ...
- 在 Excel 中如何使用宏示例删除列表中的重复项
概要:在 Microsoft Excel 中,可以创建宏来删除列表中的重复项.也可以创建宏来比较两个列表,并删除第二个列表中那些也出现在第一个(主)列表中的项目.如果您想将两个列表合并在一起,或者如果 ...
- 【转】使用JavaParser获得Java代码中的类名、方法形参列表中的参数名以及统计总的文件个数与不能解析的文件个数
遍历目录查找Java文件: public static void ergodicDir(File dir, HashSet<String> argNameSet, HashSet<S ...
- 在Linux中怎么把用户添加到组中
(1)添加用户test,初始密码123456,该用户的主目录为/home/share,用户的基本组为root,用户的shell为/bin/tcsh,要求将该用户加到mail和new组中.请问该怎么做啊 ...
- 布尔上下文,这里misreading返回的是来源列表中元素的个数,如果列表中2个值都是undef,则列表元素个数是1: while( $misreading = (my $test_consideration, my $english_pragma) = each %map_function){
布尔上下文,这里misreading返回的是来源列表中元素的个数, 列表赋值运算的值将会是来源列表中元素的个数,空列表表示0,如果列表中2个值都是undef,则列表元素个数是1 布尔上下文,这里mis ...
- Python对列表中字典元素排序
问题起源 json对象a,b a = '{"ROAD": [{"id": 123}, {"name": "no1"}]} ...
- for循环删除列表中元素遇到的漏删的问题(python)
问题描述:python中通过for循环来删除列表中的两个相邻的元素,存在漏删的问题 比如说下面的例子,准备删掉2和3,但是结果是2删掉了,3没删掉 是因为把2删掉后3的下标就变成了1,但是原本下标为1 ...
随机推荐
- 国产大语言模型ChatGLM3本地搭建、使用和功能扩展
1.官网 ChatGLM3 2.下载ChatGLM3源码 直接在https://github.com/THUDM/ChatGLM3,下载源码 3.下载模型 如果显卡8G一下建议下载ChatGLM3-6 ...
- testArticle
Test Article This is a test article for ArticleSync. Test Edit...... test Edit
- 一个或多个C文件编译KO
参考文档:.c文件如何编译为ko的MAKEFILE文件编写 - young525 - 博客园 (cnblogs.com) 文档组织结构 header目录:存放头文件 source目录:存放源文件 单个 ...
- Typora编写博客并发布
(1)工具安装:下载博主xhznl开发的的工具,并按照说明进行正确的配置. EasyBlogImageForTypora使用说明:https://www.cnblogs.com/xhznl/p/132 ...
- pytest系列之-mark功能的使用
功能使用: 标记用例,按正常.异常用例划分等级进行标记,或者按照模块进行划分. 标记后,可以执行部分用例. 例如: 你有以下用例,文件目录结构如下: testcase ----user ----man ...
- work09
day10作业: 第一题: 定义一个接口Animal,包含: 1.抽象方法: run() 2.默认方法: breathe(),输出"动物会呼吸",同时调用静态方法 eat(),私有 ...
- work04
第一题: 分析以下需求,并用代码实现(每个小需求都需要封装成方法) 1.求两个数据之和(整数 小数),在main方法中打印出来 2.判断两个数据是否相等(整数 小数),在控制台上打印出来 3.获取两个 ...
- 2019银川区域赛BDFGHIKN题解
B.So Easy 题目大意:给你一个正方形矩阵,初始都是0,题目对这个矩阵做了许多次操作,每次操作把行+1或列+1.其中有一个元素被隐藏了,你需要找出这个被隐藏的元素并判断它在操作之后应该是多少. ...
- 【主流技术】聊一聊消息队列 RocketMQ 的基本结构与概念
目录 前言 一.初识 RocketMQ 1.1基本模型 二.基本概念 2.1Producer 2.2Consumer 2.3Topic 2.4Tag 2.5Message 2.6Broker 2.7P ...
- 学习嵌入式为什么要学习uboot
ref:http://www.elecfans.com/d/617674.html 为什么要有BootLoader 背景 很多人学习嵌入式一开始就搞Linux,这样子容易对底层缺少了解. 基础介绍 计 ...