我是我的组织的开发人员,但是我的任务是在Active Directory中的OU中重置10k电子邮件用户的密码。 我被授予了适当的权限,然后发送了以下TechNet文章 ,但是我不确定在哪里运行该文件,或者如何运行。 我很抱歉,如果这个问题太模糊了,但我不知道我还能问哪里(我会问在我的组织系统pipe理员,但它需要一段时间的回应)。 有人可以给我一个这个cmdlet究竟做什么的概要,我怎么去执行这个?
比这更容易。 安装(取决于您的工作站操作系统的风格) 远程服务器pipe理工具,以便获得AD DS工具。 不要忘记进入控制面板中的Windowsfunction,以启用正确的工具集。
一旦你完成了,下面的命令将达到你想要的结果:
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”replace为包含要更改的用户的OU的distinguishedName
我只是想把它扔出去,说这是一个可怕的想法。 如果需要更改10K用户密码,批量重置不应该是过程的一部分。 充其量,在下次用户login时只需强制更改就可以防止您打开的巨大安全漏洞。
这里有一个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