使用PowerShell

时间:2017-10-30 14:06:00

标签: windows powershell active-directory

我尝试更改与我所在的主机位于不同域的用户的密码。这是我的示例代码:

$domain = 'someADDomain.local'
$userName = 'SomeUser'

$oldPassword = Read-Host -AsSecureString -Prompt "Enter the account's old password"
$newPassword = Read-Host -AsSecureString -Prompt "Enter a new password"

Set-ADAccountPassword -Server $domain -Identity $userName -OldPassword $oldPassword -NewPassword $newPassword

问题在于我得到了"服务器拒绝了客户端凭据"。需要更改密码的用户只能登录到特定服务器,而不能登录到域控制器。

除域名外,还有办法指定使用哪个服务器吗?

参考:https://social.technet.microsoft.com/Forums/en-US/bae9fa8f-f602-4533-97fe-9b2bc9bb800d/powershell-how-to-reset-domain-account-password-for-multiple-domains?forum=ITCG

1 个答案:

答案 0 :(得分:2)

当前域中的当前用户显然没有权限更改其他域中用户的密码,这意味着您需要向Set-ADAccountPassword cmdlet提供其他凭据(请参阅-Credential

尝试:

$Password = ConvertTo-SecureString "PlainTextPassword" -AsPlainText -Force $oldPassword
$Credential = New-Object System.Management.Automation.PSCredential ("$domain\$userName", $Password)
Set-ADAccountPassword -Credential $Credential -Server $domain -Identity $userName -OldPassword $oldPassword -NewPassword $newPassword
#                     -----------------------

在示例中,我假设用户有权更改(自己的)密码,否则您需要提供其他凭据,例如:其他域的域管理员凭据。这可能只是 OtherDomain \ YourAccountName)