我尝试更改与我所在的主机位于不同域的用户的密码。这是我的示例代码:
$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
问题在于我得到了"服务器拒绝了客户端凭据"。需要更改密码的用户只能登录到特定服务器,而不能登录到域控制器。
除域名外,还有办法指定使用哪个服务器吗?
答案 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)