如何使用 PowerShell 修复 Active Directory 帐户锁定

为何被锁?

由于需要处理更多应用和凭证,用户在尝试登录次数过多后可能会被帐户封锁

许多组织在登录尝试失败一定次数后锁定用户帐户。这样做的目的是防止黑客通过暴力手段获取用户密码。但是,并非所有锁定都是来自恶意来源,甚至不是由忘记密码的用户造成的。

当用户更换工作地点时,也可能发生帐户锁定。一种常见的情况是,当用户从办公室中已加入域的 Windows 桌面切换到家中当前未连接到网络的另一台 Windows 计算机时。由于笔记本电脑处于离线状态,因此它尚未记录密码更改。用户必须使用旧密码登录。如果用户将笔记本电脑带入办公室并尝试访问网络,那么密码不匹配加上最终用户的困惑可能会导致帐户锁定。

查询账户锁定日志

可以通过下面的Powershell命令

Get-WinEvent -FilterHashTable @{LogName="Security"; ID=4740} | Select-Object TimeCreated, Message | Format-Table -Wrap

Get -WinEvent cmdlet 查询事件日志。FilterHashTable部分指定要在日志中搜索的项目。在本例中,LogName参数指示Get-WinEvent cmdlet 搜索 Windows 安全日志。此外,ID 参数查找事件 ID 4740 的实例,该事件 ID 指的是帐户锁定事件。

然后将结果传送到Select-Object cmdlet,该命令显示事件创建时间和事件消息。通常,PowerShell 会截断帐户锁定消息,但Format-Table cmdlet 和Wrap参数会强制 PowerShell 显示所有相关信息。

如何检查帐户的锁定状态

PowerShell 协助 Active Directory 帐户锁定的另一种方法是使用Get-ADUser cmdlet 检查帐户的锁定状态。使用以下命令检索与Active Directory 用户帐户相关的属性。

Get-ADUser -Identity <用户名> -Properties * | Select-Object LockedOut、AccountLockoutTime、BadLogonCount

Identity参数指定用户要调查的帐户名称。在本例中,检索帐户的所有属性,然后使用Select -Object cmdlet 显示锁定状态、发生锁定的时间以及登录尝试失败的次数。顺便说一句,LockedOut属性包含 true 或 false 的值:锁定的帐户显示 true,而解锁的帐户显示 false。

要解锁帐户,请使用以下 PowerShell 命令,将<username>替换为您要解锁其帐户的用户的名称。

Unlock-ADAccount <用户名>

PowerShell 的Get-ADUser cmdlet 检索用户的帐户锁定状态。在这种情况下,值为 true 表示用户的帐户已被锁定。Unlock -ADAccount cmdlet 解锁帐户。您可以使用Get-ADUser cmdlet 来验证解锁是否成功。

🏆 每日挑战:你知道答案吗?

在 PHP 中,如何定义常量?

温馨提示 : 非特殊注明,否则均为©李联华的博客网原创文章,本站文章未经授权禁止任何形式转载;IP地址:18.119.115.40,归属地:俄亥俄州Dublin ,欢迎您的访问!
文章链接:https://www.lilianhua.com/how-to-use-powershell-to-fix-active-directory-account.html

文澜千文文澜千文Beta

请登录以使用此功能。

弹窗图片

年终回馈! 200积分免费领取,可通过用户中心或VIP会员页面通过兑换码进行兑换:OAK-8909956

Loading...