我对PowerShell脚本工作示例感兴趣, ONLY 要求提供Active Directory UserName 和域以及新密码作为输入参数:
...而且,强制此更改(尽可能快)与整个林一起复制。
此脚本的目的是让Exchange,SkypeforBusiness(和其他系统)在整个林中识别此密码更改;因此,在将密码更改发送到单个DC 之后,这些系统不会立即提示登录用户输入新密码(即使在用户注销并使用新的成功再次成功登录到他们的工作站之后也是如此密码)。也许,强制复制到用户站点/域中的桥头服务器就足够了?
我知道如何使用AD域中的以下3行更改用户密码。但是,我不确定如何尽快在整个森林中复制这种变化。
$Domain = "DomainName"
$UserID = "BillKP"
$newpwd = "pass123"
$DC = Get-ADDomain $Domain | select -ExpandProperty InfrastructureMaster
Set-ADAccountPassword $UserID -NewPassword $newpwd -Reset -Server $DC
我在 Sync-ADObject 中找到了以下示例。但是,我不确定如何在上面的脚本中使用它(假设我上面提到的意图)。
PS: 强制将此用户的新密码复制到林中时,我不想锁定PowerShell控制台。
Get-ADDomainController -filter * | ForEach {Sync-ADObject -object "CN=James, OU=BusinessUsers, DC=Test, DC=Local" -source NKAD1 -destination $_.hostname}
提前致谢!