批量重置域用户密码(一)

说到批量我们想到就是通过vbs、powershell、java等等来实现的方式,既然我们说到批量重置域用户密码,我想大家对这句话应该不陌生,因为网上有很多类似的做法,但是他们的做法跟我所实现的不一样,网上的做发是将某个OU下的用户或者将域内的所有用户批量重置为一个指定密码,结果是所有的用户密码一样,这样对企业内部很不安全,我们企业内部有规定,用户重置密码需要相关负责人发送邮件给IT部门,密码充值后的格式为:用户名+邮件发送日期;

例:zhangsan的密码过期了,此时(20130503)他的相关负责人lisi带zhangsan发了一封邮件给IT部门需要重置zhangsan的密码,我们将zhangsan的密码重置为:zhangsan20130503(如果环境内部使用的Exchange的话,域用户密码过期邮箱既不能用;如果用其他邮件系统(Domino)域用户密码过期邮箱依然可以使用);

我们大家都知道Dsquery是微软内部定义的AD管理语句,其实该语句非常强大,如果应用灵活可对日常的管理及维护带来很大好处。

在此我使用的方法是微软AD命令语法来实现的,那就是dsquery+dsmod语句来实现的;我将多条语句编辑好将文件格式更改为bat双击执行;

环境内部的用户

clip_p_w_picpath002

通过AD dsquery语法来查询所有的域用户:

Dsquery user

clip_p_w_picpath004

Dsquery相关的命令

clip_p_w_picpath006

clip_p_w_picpath008

我接下来就应用dsquery+dsmod命令的组合来实现批量域用户密码重置

Dsquery user –samid users | dsmod user –pwd newpwd

意思是查询用户并且将用户的密码重置为指定密码

clip_p_w_picpath010

成功将ccc用户密码重置为ccc20130505

clip_p_w_picpath012

最后我将需要重置的用户都集中写入在一个txt文件中进行编辑。

clip_p_w_picpath014

写完后,保存为一个bat,可执行的文件类型

clip_p_w_picpath015

更改为bat类型后,我们可以双击执行,因为是可执行的,所以我们双击几乎看不到结果,所以我们在打开命令提示符,将文件拖入到命令提示符中回车运行。

clip_p_w_picpath020

clip_p_w_picpath017

我们看见将用户成功重置为指定密码

clip_p_w_picpath019

以上方法不是非常灵活也不智能,下一期会有优化版本,注意查看。