公司的域运行到现在,已经超过了3年,在使用的过程中,不断往里面添加用户账户和计算机账户,中途经常发生电脑系统坏掉,重装系统的事情,最要命的是电脑命名规则该了好几次,所以,在计算机这个容器里面,同一台电脑可能会拥有1条以上的记录(旧命名规则和新命名规则都有记录),当然只有1条是有效的;让人同样困扰的还有用户账户,有人离职后,他的登陆账户可能会转给新来的同事,也可能就此废弃,无人使用.这些没有使用的电脑和用户账户都是垃圾,如果放在那里对用户的正常使用当然没有什么影响,不过每次看到总觉得有种无力感:人工去清理吧,工作量太大,现在每天都忙于其它事情,根本没时间做这个事情;不理它吧,看着就觉得自己失败.
      经过一番查找与试用,觉得active directory janitor这个软件不错,正好符合我的需求,将没有使用的计算机账户和用户账户"一网打尽",使我们的域和OU的架构更能反映公司现在的人员情况,也降低了服务器的负荷(涉及到组策略).由于每个电脑和用户对象都有自己的SID号,而且删除了也不会多出来给新的对象使用,所以,最佳的方案是在AD中新建两个OU,分别命名为"已停用的电脑账户"和"已停用的用户账户",然后,把那些现在没有使用的电脑账户和用户账户停用后放到这两个OU里面,这样,各部门现有人员就很清楚了,也就达到了我们的目的.事实上,ad janitor这个软件可以很方便的帮我们实现查找/停用/移动的动作.
      好了,下面只谈技术.先认识下adj的界面,相关图片如下:

我们先清理下过期的计算机账户,选择scan computers,界面变成让我们选择清理计算机账户的范围,一般根据OU来就可以了.相关图片如下:
然后,让我们选择需要扫描哪些属性值,这里根据自己需要选择,建议必选ping / last logon / Disabled 以做筛选之用.相关图片如下:
按scan 进入到扫描界面,注意左上角的start scanning按钮,必须按一下,不然它不会工作的,呵呵.
把那些ping的结果显示为Not in Dns的计算机对象选中,然后把它们disable和move到我们指定的OU里面,就完成了对computers对象的清理.至于为什么清理那些dns记录里面没有的电脑记录,那是因为域里面的电脑每次启动的时候都会到dns服务器去注册自己的A记录,如果超过一定的天数这个A记录没有更新的话,dns服务器会自动将这条A记录给删除掉,并在全部域内的DNS服务器间同步.所以,基本上,not in dns就是说,这台电脑已经非常久的时间没有开机了,最大的可能就是,叫这个名字的电脑已经不存在了.相关图片如下:
关于对users账户的清理,和上面将的对computers账户的清理大同小异,将它们禁用后移动到"已禁用的用户账户"这个OU里面去,这里就不详述了.注意,对它清理的依据是last longon,也就是根据用户账户上次的登陆时间来进行判断,登陆时间显示为空的表示从来就没有登陆过.相关图片如下:
Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐