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

[玩转系统] 如何使用 PowerShell 锁定、解锁、启用和禁用 AD 帐户

作者:精品下载站 日期:2024-12-14 06:02:17 浏览:15 分类:玩电脑

如何使用 PowerShell 锁定、解锁、启用和禁用 AD 帐户


Active Directory GUI 管理工具(例如 Active Directory 用户和计算机 (ADUC))非常适合针对单个帐户执行操作。但当您需要处理多个AD帐户时,PowerShell是一个更灵活的工具。在这篇文章中,我将向您展示如何使用 PowerShell 单独或使用逗号分隔文件批量锁定、解锁、启用和禁用 AD 用户和计算机帐户。

您必须先在计算机上安装适用于 PowerShell 的 Active Directory 模块,然后才能运行 Active Directory PowerShell cmdlet。如果您使用的是 Windows 10,请从 Microsoft 网站下载适用于 Windows 10 的远程服务器管理工具 (RSAT),然后进行安装。然后,通过使用本地管理员权限打开 PowerShell 提示符并运行 Enable-WindowsOptionalFeature cmdlet 来启用 AD PowerShell 模块功能,如下所示:

Disable-ADAccount -Identity RussellS
  • 禁用用户使用 CSV 文件

您还可以禁用逗号分隔 (.csv) 文本文件中列出的所有 Active Directory 用户帐户。该文件必须包含一个标题,然后包含用户名列表,每行一个。我的 CSV 文件只有一列(标题为“名称”),因此我的逗号分隔文件没有逗号!如果您的 CSV 文件有多于一列,则脚本将忽略这些附加列。

[玩转系统] 如何使用 PowerShell 锁定、解锁、启用和禁用 AD 帐户

我首先将 CSV 文件的内容作为对象 ($users) 导入,然后使用 ForEach 循环在文本文件的每一行上禁用用户。这是 PowerShell 脚本:

$users=Import-CSV c:tempusers.csv
ForEach ($user in $users)
{
 Disable-ADAccount -Identity $($user.name)
}

要检查结果,请使用 Search-ADAccount cmdlet:

$computers=Import-CSV c:tempcomputers.csv
ForEach ($computer in $computers)
{
 Disable-ADAccount -Identity "$($computer.name)$"
}

要检查结果,请使用 Search-ADAccount cmdlet:

$timespan = New-Timespan -Days 90
Search-ADAccount -UsersOnly -AccountInactive -TimeSpan $timespan | Disable-ADAccount

另一种选择是使用-DateTime参数返回自给定日期以来处于非活动状态的帐户。此脚本禁用自 2018 年 6 月 3 日以来所有不活动的帐户:

Search-ADAccount -UsersOnly -AccountInactive -DateTime ‘6/3/2018’ | Disable-ADAccount

值得注意的是,由于 Active Directory 同步 LastLogOnDate 属性的方式,在使用 Search 指定 -AccountInactive 参数时返回的结果-ADAccount cmdlet 的误差可能高达 9-14 天。

如您所见,使用 PowerShell 管理 Active Directory 帐户的状态非常简单。由于 PowerShell 是面向对象的,因此可以轻松创建包含要处理的数据的对象,然后将它们传递给执行所需操作的其他 cmdlet。

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

取消回复欢迎 发表评论:

关灯