查询长期未登录的AD帐号

简介:
接近年底,公司内部及外部的审计又开始了。这次公司内部的审计人员比以往专业很多,问了很多帐号管理(申请,离职,公用帐号等方法的管理),确实让我小忙一把。
还真被他们稽核出不了问题。
对于个人帐号,全部上系统申请,参考HR数据库建立,同时在离职时HR系统自动禁用帐号,隔日发报表给相关人员进行统一删除。
对于公用帐号,有些部门之前申请的,即使不用了他们也不会通过IT部门去取消,所以公用帐号可能会一直在增加,但IT人员也无法去管理(帐户信息可能已经不准确)
 
下面介绍一命令,在win2008如果有安装AD服务,该命令已经有包含。
dsquery 命令,
dsquery user可查询AD 用户信息(我之前有一篇文章,dsquery computer可查询AD计算机帐户,两者处理的方式是一样的)
 
以下是一条命令
dsquery user "dc=contoso,dc=com" -scope subtree -inactive 13 -limit 1 | dsmove -newparent "ou=olduser,dc=contoso,dc=com"
 
解释:
dsquery user 查询AD user帐号
"dc=contoso,dc=com" 为查询的AD路径
-scope subtree为查询范围,此处为包含下级各目录
-inactive 13 为13周未登录过的帐号,一般3个月强制变更密码,所以13周没登录的话这个帐号应该是没有在使用了
-limit 1为一次操作一条记录 (由于通过管道 | 传给dsmove命令进行再次操作,所以此次只能为1)
| 为管道操作符
dsmove 将查询到的对象移到指定OU
-newparent "ou=olduser,dc=contoso,dc=com" 为目标OU,用于存放查询到的用户对象
一般情况下我在对AD用户及计算机帐号管理时,不会立即删除帐号,都会将他们移至一个OU,再将这个帐号全部禁用,再观察下1个月什么的。这只是为了安全。
 
以上的命令一次只能执行一个User对象,所以我还得写个BAT命令,让其循环执行多次,所以我暂时将上以命令保存为d.bat吧
 
再建立一个c.bat文件,执行时由c.bat去调用d.bat(每次查询过期帐户时,也都只执行c.bat,c.bat和d.bat放在同一目录下)
for /l %%a in (1,1,1000) do d.bat  这个命令是指重复执行d.bat程序 1000次,当然啦这个次数你可以改。
 
我已附上附件,各位如果要实践的话,只要改下域名,并在域中新建个OU,用于存放过期帐号。
 
 本文转自William宋 51CTO博客,原文链接:http://blog.51cto.com/sting/407195,如需转载请自行联系原作者
相关文章
|
9月前
|
SQL 数据库连接 数据库
学生信息登录系统总结一
在敲学生系统的时候,进行登录学生管理学生信息登录,当时就是出师不利,还没有进入主界面就被卡在外面直接坐上了冷板凳,没想到道路刚开始就是如此坎坷,频繁报错那么就列举出3个具有代表性的问题,这个问题也是困扰了我许久,一直得不到解决,还是老办法站在巨人的肩膀上,通过查阅资料那些前辈们的的博客也是知道,不光自己也是遇到了类似的问题,通过借鉴大神的们的博客总结,让自己也是有了信心,感觉自己也能解决,但是事与愿违,往往想的都是很美好的,现实很残酷,跌宕起伏,排山倒海,猛龙过江,心情跟做过山车一样。
53 0
|
数据安全/隐私保护
|
监控 测试技术 数据安全/隐私保护

热门文章

最新文章