今天做了一个需求,要把AD中3个月未使用的电脑帐号移动到一个固定的OU,并停用掉。之前也用过脚本处理过类似的问题,所以,上个脚本先
dsquery computer -limit 1000 -inactive 12 DC=test,DC=com | dsmove -new parent ou=InactiveComputers,dc=test,DC=com
OK,乍一看,好像这个语句还是可以实现的,OK,在DOS命令里输入这个命令,发现出错了,管道命令不支持大批量的移动AD帐号,得换个思路了。
幸好自己有编程的功底,利用堆栈的原理,可以先把最顶端的数据取出来,然后移动到目标OU,并使用循环,直到搜索的结果为0,OK,有了这个思路,开始着手编写bat脚本吧。
打开一新记事本,输入以下脚本
@echo off
:again
dsquery computer -limit 1 -inactive 12 DC=test,DC=com | dsmove -new parent ou=InactiveComputers,DC=test,DC=com
if errorlevel 0 goto again
重新更改记事本的后缀为bat格式,双击运行,哦耶,大功告成