查询长期未登录的AD帐号
2010-10-18 15:58
211 查看
接近年底,公司内部及外部的审计又开始了。这次公司内部的审计人员比以往专业很多,问了很多帐号管理(申请,离职,公用帐号等方法的管理),确实让我小忙一把。
还真被他们稽核出不了问题。
对于个人帐号,全部上系统申请,参考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,用于存放过期帐号。
附件:http://down.51cto.com/data/2356950
还真被他们稽核出不了问题。
对于个人帐号,全部上系统申请,参考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,用于存放过期帐号。
附件:http://down.51cto.com/data/2356950
相关文章推荐
- 查询AD域长时间没有登录的帐号
- 查询长期未登录AD的用户
- PowerShell查询AD域内长期没有登录的计算机对象
- 再谈 查询长期未登录AD的用户
- 怎么可以查到AD里面长时间没有登录的帐号
- AD账号创建日期、最近一次登录时间、最近一次重置密码时间查询
- Powershell管理系列(十六)查询最近一个月未登录的AD账号和Exchange账号
- 谁锁了我的帐号?(AD账号的锁定状态查询)
- 怎么可以查到AD里面长时间没有登录的帐号
- C# 建立AD帐号,设置下次登录修改密码
- Oracle 10g各个帐号的访问权限、登录路径、监控状态命令查询等等
- 查询密码为特定值的AD帐号
- WINDOWS登录帐号的查询
- Oracle 10g各个帐号的访问权限、登录路径、监控状态命令查询等等
- C#操作 域AD 之登录、查询
- 如何在AD中方便查询被锁定的帐号状态和特定条件的查询被锁定的帐号
- AD中查询180天未登录的计算机账户
- 怎么可以查到AD里面长时间没有登录的帐号
- 查询30天内没有登录的AD用户
- Chapter 2 User Authentication, Authorization, and Security(2):创建登录帐号