当前位置:网站首页 > 更多 > 玩电脑 > 正文

[玩转系统] 通过 AD 中的 Set-ADAccountPassword Cmdlet 重置密码

作者:精品下载站 日期:2024-12-14 05:58:50 浏览:14 分类:玩电脑

通过 AD 中的 Set-ADAccountPassword Cmdlet 重置密码


用户通常使用 Windows 设置菜单更新其域帐户密码。但如果他们忘记密码或帐户被禁用,则需要管理员介入。

这篇博文探讨了管理员重置用户密码或创建新密码的几种方法。首先,我们回顾一下最简单的选项:Active Directory 用户和计算机 (ADUC) 和 Active Directory 管理中心 (ADAC)。但由于它们都有局限性,我们还将讨论管理员如何使用 PowerShell 或第三方工具更有效地管理用户密码

先决条件:检查密码重置权限

为了重置用户的密码,管理员需要拥有适当的权限。默认情况下,域管理员和帐户操作员组的成员有权更改其他帐户的密码。其他用户和组也可以被委派此权利。

要检查某个管理员是否可以重置用户帐户的密码,请执行以下步骤:

  1. 在 ACUC 中,打开要查看其权限的 AD 用户的属性。
  2. 导航到安全选项卡,然后单击高级
  3. 选择有效访问,输入管理员账户名称,查看是否具有重置密码权限。

    [玩转系统] 通过 AD 中的 Set-ADAccountPassword Cmdlet 重置密码

使用 ADUC 和 ADAC 重置密码

管理员有两个基于 GUI 的选项用于重置用户密码:Active Directory 用户和计算机 (ADUC) 和 Active Directory 管理中心 (ADAC)。

使用 ADUC 重置密码

要使用 ADUC 重置用户密码,请执行以下步骤:

  1. 如果您知道要更改其密码的 AD 用户的位置,请导航到该用户,右键单击该用户,然后选择重置密码

    [玩转系统] 通过 AD 中的 Set-ADAccountPassword Cmdlet 重置密码

    如果您不知道用户在 AD 中的位置,请通过右键单击域并选择查找来搜索用户:

    [玩转系统] 通过 AD 中的 Set-ADAccountPassword Cmdlet 重置密码

    输入用户名并单击立即查找。然后右键单击搜索结果中的用户名并选择重置密码

    [玩转系统] 通过 AD 中的 Set-ADAccountPassword Cmdlet 重置密码

  2. 在重置密码对话框中:

    • 输入新密码并再次输入确认。
  3. 选中用户下次登录时必须更改密码复选框可强制用户在下次登录时更改密码。
  4. 如果用户帐户因密码错误多次尝试登录而被 AD 安全策略锁定,您可以通过选中解锁用户帐户复选框来解锁帐户。

    [玩转系统] 通过 AD 中的 Set-ADAccountPassword Cmdlet 重置密码

  5. 单击确定

使用 ADAC 重置密码

使用 ADAC 重置密码的过程与用于 ADUC 的过程非常相似。以下是关键步骤的截图:

[玩转系统] 通过 AD 中的 Set-ADAccountPassword Cmdlet 重置密码

[玩转系统] 通过 AD 中的 Set-ADAccountPassword Cmdlet 重置密码

使用 PowerShell 重置密码

虽然 ADUC 和 ADAC 提供了重置单个用户密码的简单方法,但在更改大量用户的密码时它们没有帮助。为此,管理员需要 PowerShell。 PowerShell使您能够快速批量重置AD用户密码,甚至自动创建复杂的随机密码。

Set-ADAccountPassword:语法

让我们从 Set-ADAccountPassword cmdlet 开始,它为用户、计算机或服务帐户设置密码。该 cmdlet 的语法如下:

Set-ADAccountPassword [-WhatIf] [-Confirm] [-AuthType <ADAuthType>] [-Credential <PSCredential>] [-Identity] <ADAccount> [-NewPassword <SecureString>] [-OldPassword <SecureString>] [-Partition <String>] [-PassThru] [-Reset] [-Server <String>] [<CommonParameters>]

Set-ADAccountPassword:参数

以下是需要了解的关键参数:

Parameter

习惯

AuthType

指定要使用的身份验证方法。有效值为:
协商或 0(默认)
基本或 1

Confirm

运行命令之前显示确认提示。

Credentials

使用备用凭据运行命令或脚本。

Identity

指定需要密码重置操作的 Active Directory 对象。使用以下值作为值:
可分辨名称
GUID
安全标识符 (ObjectSid)
SAM 帐户名称

NewPassword

指定新密码。

Server

指定以下其中一项的完全限定域名 (FQDN):
域的 FQDN
目录服务器的 FQDN
带有域或目录服务器端口号的 FQDN 以下服务之一必须为此参数部署在您的环境中:
Active Directory 域服务
Active Directory 快照实例

OldPassword

更改密码时提供旧密码。

Partition

如果不是默认分区,请指定您连接的 Active Directory 分区。

PassThru

显示有关用户对象的详细信息。

Reset

重置对象的密码;还必须指定 NewPassword 参数。

Server

指定以下其中一项的完全限定域名 (FQDN):
域的 FQDN
目录服务器的 FQDN
带有域或目录服务器端口号的 FQDN
其中之一对于此参数,必须在您的环境中部署以下服务:
Active Directory 域服务
Active Directory 快照实例
Active Directory 轻型域服务

WhatIf

查看 cmdlet 的输出,而无需实际运行它。

现在让我们逐步了解一些使用 Set-ADAccountPassword cmdlet 的示例。

重置AD用户密码

运行以下命令重置用户帐户的密码。系统将提示您输入该帐户的新密码和旧密码。

Set-ADAccountPassword -Identity AbbeyCrawford

Set-ADAccountPassword -Identity "CN=AbbeyCrawford,OU=VersaCorp,DC=milkyway,DC=local"

[玩转系统] 通过 AD 中的 Set-ADAccountPassword Cmdlet 重置密码

或者,您可以首先将密码存储在变量中,然后在 cmdlet 中使用它来重置密码:

$Pwd = ConvertTo-SecureString "MyNewPassword@123" -AsPlainText -Force Set-ADAccountPassword -Identity AbbeyWarren -NewPassword $Pwd -Reset

运行这些 cmdlet 将不会在 PowerShell 控制台中显示任何输出。

为了获得输出,我们需要添加 -PassThru 参数。以下是使用此参数以及其他几个参数的示例:

Set-ADAccountPassword abbeywarren -Reset -NewPassword (ConvertTo-SecureString -AsPlainText “NewP@ssw0rd123” -Force -Verbose) –PassThru

[玩转系统] 通过 AD 中的 Set-ADAccountPassword Cmdlet 重置密码

重置密码时解锁帐户

根据帐户锁定策略中的设置,用户的帐户可能会因为多次输入错误密码而被锁定。在这种情况下,用户将看到如下错误:

[玩转系统] 通过 AD 中的 Set-ADAccountPassword Cmdlet 重置密码

管理员可以从 ADUC 中用户的“属性”页面解锁帐户:

[玩转系统] 通过 AD 中的 Set-ADAccountPassword Cmdlet 重置密码

或者,您可以通过使用带有管道的 Unlock-ADAccount 参数来解锁帐户,同时重置其密码:

Set-ADAccountPassword abbeywarren -Reset –NewPassword $PWD –PassThru | Unlock-ADAccount

强制用户在下次登录时更改密码

要强制用户在下次登录域时更改密码,可以使用 Set-ADUser 命令:

Set-ADUser -Identity abbeywarren -ChangePasswordAtLogon $true

您还可以更改用户的密码并强制他们在下次登录时使用一个命令更改密码:

Set-ADAccountPassword abbeycrawford -NewPassword $Pwd -Reset -PassThru | Set-ADuser -ChangePasswordAtLogon $True

运行此命令将启用“用户下次登录时必须更改密码”选项,如下所示:

[玩转系统] 通过 AD 中的 Set-ADAccountPassword Cmdlet 重置密码

使用备用凭证重置密码

通常管理员有两个帐户:标准用户帐户和管理员帐户。要在登录标准帐户时使用特权帐户更改用户密码,请使用 -Credential 参数

首先,将您的管理员凭据存储在变量中:

$Credentials = Get-Credential

此命令提示您提供要存储的凭据:

[玩转系统] 通过 AD 中的 Set-ADAccountPassword Cmdlet 重置密码

然后我们可以使用以下变量来存储用户的新密码:

$Pwd = ConvertTo-SecureString "MyNewPassword@123" -AsPlainText -Force

然后我们在 Set-ADAccountPassword 中使用这两个变量:

Set-ADAccountPassword -Identity abbeywarren -NewPassword $Pwd -Credential $Credential

验证密码重置结果

要验证密码是否已成功重置,请使用 Get-ADUser 命令检查上次更改密码的日期和时间:

Get-ADUser abbeywarren -Properties * | select name, pass*

[玩转系统] 通过 AD 中的 Set-ADAccountPassword Cmdlet 重置密码

将多个用户的密码重置为相同的值

有时您需要批量重置用户密码。例如,假设您要为工程部门的所有用户设置相同的密码,并要求这些用户在下次登录时更改密码。只需使用 Get-ADUser 和 -Filter 参数来选择其“部门”的用户值设置为“Engineering”并将它们通过管道传输到 Set-ADAccountPassword cmdlet:

Get-ADUser -filter "department -eq 'Engineering'" | Set-ADAccountPassword -NewPassword $Pwd -Reset -PassThru | Set-ADuser -ChangePasswordAtLogon $True

[玩转系统] 通过 AD 中的 Set-ADAccountPassword Cmdlet 重置密码

我们可以通过显示用户的密码属性来验证结果:

Get-ADUser -filter "department -eq 'Engineering'" -Properties * | select name, pass*

[玩转系统] 通过 AD 中的 Set-ADAccountPassword Cmdlet 重置密码

将多个用户的密码重置为不同的值

现在假设您有一个 CSV 或 Excel 文件,其中列出了需要重置密码的多个用户以及要分配给每个用户的密码:

[玩转系统] 通过 AD 中的 Set-ADAccountPassword Cmdlet 重置密码

运行以下 PowerShell 脚本以更改 CSV 文件中每个用户帐户的密码:

Import-Csv c:\temp\users_new_passwords.csv -Delimiter "," | Foreach {

$NewPassword = ConvertTo-SecureString -AsPlainText $_.NewPassword -Force

Set-ADAccountPassword -Identity $_.sAMAccountName -NewPassword $NewPassword -Reset -PassThru | Set-ADUser -ChangePasswordAtLogon $false

}

使用 Netwrix GroupID 简化密码管理

Netwrix GroupID 通过为业务用户和帮助台团队提供易于访问的门户来简化密码管理。当使用门户修改任何 AD 对象时,系统会向指定收件人发送电子邮件通知,提醒他们发生了更改。

用户门户

用户门户使业务用户能够自行执行以下操作:

  • 更改他们的密码
  • 重置密码
  • 解锁他们的帐户

以下是用户在 Netwrix GroupID 中更改密码的对话框:

[玩转系统] 通过 AD 中的 Set-ADAccountPassword Cmdlet 重置密码

帮助台门户

使用帮助台门户,帮助台用户可以代表用户执行以下操作:

  • 重置用户密码
  • 解锁用户帐户

这是更改用户密码的对话框:

[玩转系统] 通过 AD 中的 Set-ADAccountPassword Cmdlet 重置密码

这是解锁用户帐户的对话框:

[玩转系统] 通过 AD 中的 Set-ADAccountPassword Cmdlet 重置密码

帮助台用户可以使用帮助台门户的仪表板、历史记录和实时更新选项来监控用户门户上的用户活动:

[玩转系统] 通过 AD 中的 Set-ADAccountPassword Cmdlet 重置密码

结论

大多数 IT 帮助台票证都与忘记密码和锁定帐户有关。虽然 ADUC 和 ADAC 可以轻松重置单个用户密码,但它们不适合更复杂的任务。 PowerShell 使管理员能够批量重置密码等功能,从而填补了这一空白。

如需一个可简化用户和帮助台团队密码管理的强大工具,请查看 Netwrix GroupID。

您需要 登录账户 后才能发表评论

取消回复欢迎 发表评论:

关灯