工作在测试域中需要批量更改域内所有用户密码,并且要设置用户登录时不需要更改密码,可以使用以下PowerShell命令:


 

 Import-Module activedirectory
 
Get-ADUser -filter * -SearchBase 'OU=xxx,DC=contoso,DC=com' | Set-ADAccountPassword -Reset -NewPassword (ConvertTo-SecureString -AsPlainText  "pass88" -Force)

Get-ADUser -filter * -SearchBase 'OU=xxx,DC=contoso,DC=com' | Set-ADUser -ChangePasswordAtLogon $false

另外,如果需要将密码设置为空,由于(ConvertTo-SecureString -AsPlainText "pass88" -Force)中“”内内容不能为空,所以需要修改为(Read-Host -AsSecureString "New Password"),回车后会出现输入新密码提示,直接回车即可。


http://kms.lenovots.com/kb/article.php?id=11770 

set-adaccountpassword不接受变量参数 
这个可以举一反三