我是我所在组织的一名开发人员,但我被要求重置 Active Directory 中某个 OU 中的 10k 个电子邮件用户的密码。我获得了适当的权限,然后发送了以下内容TechNet 文章,但我不确定在哪里运行它或者它究竟是如何工作的。如果这个问题太模糊,我很抱歉,但我不确定我还能在哪里问(我会问我所在组织的系统管理员,但需要一段时间才能得到答复)。有人能给我简要介绍一下这个 cmdlet 到底是做什么的以及我该如何执行它吗?
答案1
比这简单多了。安装(取决于您的工作站操作系统)远程服务器管理工具这样您就获得了 AD DS 工具。不要忘记进入控制面板中的 Windows 功能以启用正确的工具集。
完成后,以下命令将实现您想要的结果:
DSQUERY user "OU=myOU,OU=myUsers,DC=myDomain,DC=loc" -limit 0 | DSMOD user -pwd <insert new password here>
~ 替换“OU = myOU,OU = myUsers,DC = myDomain,DC = loc”使用包含要更改的用户的 OU 的专有名称
答案2
我只想说,这个想法太糟糕了。如果需要更改 10000 名用户的密码,则批量重置不应该成为流程的一部分。最好的情况是,只需在用户下次登录时强制更改密码,就可以防止你打开的巨大安全漏洞。
答案3
这是要添加到组合中的 PowerShell 变体。从 Windows Powershell 的 Active Directory 模块运行它。请注意,密码必须满足域策略指定的任何要求(长度、复杂性等)。
您需要更改的是-SearchBase
参数和-NewPassword
参数。
用于Import-Module ActiveDirectory
将 Active Directory 模块添加到默认 PowerShell 中。
Get-ADUser -Filter * -SearchScope Subtree -SearchBase "OU=Department,OU=Users,DC=corp,DC=acme-widgets,DC=local" | Set-ADAccountPassword -Reset -NewPassword (ConvertTo-SecureString -AsPlainText "New Password Here" -Force)
要在运行上述命令之前查看这会影响哪些用户,请发出此命令以获取受影响帐户的列表。
Get-ADUser -Filter * -SearchScope Subtree -SearchBase "OU=Reset Pwd 2,OU=Reset PWD 1,DC=corp,DC=acme-widgets,DC=local" | Ft Name
答案4
我认为批量重置 10000 个密码不是一个好主意。我们可以简单地选择“下次登录时更改”选项,这将确保我们不会违反任何信息安全政策或流程。GN