繁体   English   中英

使用PowerShell问题重置AD用户密码

[英]Reset AD User Password using PowerShell Issue

我正在检查使用PowerShell重置AD用户密码的方法,但发现Set-ADAccountPassword可以正常工作,但是我不确定如何在我的环境中使用它。

我有一个具有许多子域的森林: example.local作为主域, x.example.localy.example.comz.example.com作为子域。

我想要实现的功能是能够从位于父域中的服务器重置子域帐户的密码。现在,下面的事情对我有用。

如果从位于子域x.example.local服务器运行:

Set-ADAccountPassword -Identity "John.Doe" -Reset -NewPassword (ConvertTo-SecureString -AsPlainText "ABCD1234" -Force)

在森林中的任何地方工作:

Set-ADAccountPassword -Identity "CN=Doe, John X.,OU=b,OU=a,DC=x,DC=example,DC=local" -Reset -NewPassword (ConvertTo-SecureString -AsPlainText "ABCD1234" -Force)

我真正需要的是一种将Windows用户登录名放在下面的脚本中的功能,该脚本类似于以下来自服务器父域(例如example.local的脚本,这种方法不能正常工作。

Set-ADAccountPassword -Identity "CN=John.Doe,OU=b,OU=a,DC=x,DC=example,DC=local" -Reset -NewPassword (ConvertTo-SecureString -AsPlainText "ABCD1234" -Force)

我该如何实现?

我发现用于AD的PowerShell cmdlet在具有多个域的环境中有点愚蠢。 他们无法找出受信任的域。 您必须将它们明确指向域。 您可以使用-Server参数来执行此操作,在该参数中为其指定全限定域名(如果需要,也可以指定特定的DC)。

因此,在您的情况下,这将意味着:

Set-ADAccountPassword -Server x.example.local -Identity "CN=John.Doe,OU=b,OU=a,DC=x,DC=example,DC=local" -Reset -NewPassword (ConvertTo-SecureString -AsPlainText "ABCD1234" -Force)

我认为其他答案有些混乱,我希望将它们设置正确。

如果我理解您的问题,则想使用该用户的Sam帐户名而不是DN。

尝试这个。

Set-ADAccountPassword -Identity "Jdoe" -Reset -NewPassword (ConvertTo-SecureString -AsPlainText "ABCD1234" -Force)

JDOE是John Doe的登录ID。 如果要在其他域中执行此操作,请添加-server选项。 对于childdomain.MyDomain.local域,请按以下方式进行操作:

Set-ADAccountPassword -Identity "Jdoe" -Reset -server ChilDomain.MyDomain.Local -NewPassword (ConvertTo-SecureString -AsPlainText "ABCD1234" -Force)

与所发表的评论之一不同,仅因为您拥有信任关系,并不意味着您将有权在目标域中更改密码。

运行此过程的AD帐户需要具有该权限,或者通过DC上另一个域的本地管理员组中的成员身份,或者通过策略将其专门添加到另一个域中的AD中(或直接应用于OU)。用户等)或企业管理员成员。

您当然可以为其他域中的用户使用CN,但是请记住,每个域之间的CN会有所不同。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM