平时做技术实践时,很多问题不是概念不会,而是细节没串起来。拿“PowerShell批量修改AD用户密码属性的代码”来说,它看着像小点,放到项目里常会牵出环境、配置、兼容性和维护成本。下面按实际采用顺序,把思路、关键写法和容易踩坑的地方讲清楚,便于大家直接对照操作。
需求:很普通的一个需求,就是给AD用户修改密码,但是问题是量太大了。所以写了个脚本
cls
$pass = ConvertTo-SecureString -AsPlainText 12333333344.abc -Force
Import-Csv -Path d:pp.csv | foreach {
Get-ADUser -Identity $_.name|Set-ADAccountPassword -Reset -NewPassword $pass
Get-ADUser -Identity $_.name|Set-ADUser -ChangePasswordAtLogon $false
$_.name
}
落到代码里,这个脚本运行,需本地装有Active Directory的模块,不需手动导入,自动挂载。
以上脚本改密码,也设置下次登录是否需更改密码。
理解这一步时,在foreach循环里,能够增加多个针对用户名的操作,比如修改属性,账户过期时间什么的。
其中需用到的pp.csv文件内容格式如下所示
name
wangerxiao
dongcunrui
本文出自 “九叔-微软私有云” 博客