查询长期未登录的AD帐号
原创
©著作权归作者所有:来自51CTO博客作者William宋的原创作品,请联系作者获取转载授权,否则将追究法律责任
接近年底,公司内部及外部的审计又开始了。这次公司内部的审计人员比以往专业很多,问了很多帐号管理(申请,离职,公用帐号等方法的管理),确实让我小忙一把。
还真被他们稽核出不了问题。
对于个人帐号,全部上系统申请,参考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,用于存放过期帐号。
上一篇:iphone剪卡遭遇
下一篇:RMS加密邮件无法开启常见问题
提问和评论都可以,用心的回复会被更多人看到
评论
发布评论
相关文章
-
mysql查看用户的过期时间
本文详细介绍了mysql查看用户的过期时间的方法,并给出了详细的代码示例,一目了然。
MySQL 应用程序 mysql -
如何查询AD中被设置为密码永不过期的域用户账号?
基于IT合规性或日常AD管理维护要求,我们经常要核查密码永不过期的域用户账号,那么该如何快速搜集这些信息呢?
IT技术支持 密码永不过期 IT Helpdesk实战培训 外企按需IT服务 Lander -
如何查询AD中被锁定的域账号?
如果需要快速查询AD中被锁定的域账号,我们该如何操作呢?
查询被锁定域用户 解锁域账号 IT Helpdesk实战培训 外企按需IT服务 Lander -
批量导出AD账号
批量导出AD账号
批量 账号 AD PS