如何使用 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 中,如何定义常量?
文章链接:https://www.lilianhua.com/how-to-use-powershell-to-fix-active-directory-account.html