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

[玩转系统] 如何使用 PowerShell 禁用不活动的用户帐户

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

如何使用 PowerShell 禁用不活动的用户帐户


不活动的 Active Directory (AD) 用户帐户可能会给组织带来安全风险,例如前员工在离开公司几个月后仍然拥有活动帐户,因为 HR 未能通知 IT,或者可能为特定目的创建帐户但从未创建过帐户活动结束后删除。无论此类帐户存在的原因是什么,Active Directory 都会很快失去控制,从而使您的系统更难以审核且安全性降低。

PowerShell 的 Active Directory 模块

Active Directory 的 PowerShell 模块允许系统管理员查询 Active Directory 并使用结果数据生成报告。 PowerShell 的 AD 模块默认安装在 Windows Server 2012 域控制器上,或者您也可以下载适用于 Windows 8.1 的远程服务器管理工具 (RSAT) 并使用以下命令安装该模块。

以本地管理员身份登录,打开 PowerShell 提示符,键入以下代码并按 ENTER 键安装 PowerShell 的 AD 模块:

Install-WindowsFeature RSAT-AD-PowerShell
在 Active Directory 中搜索非活动帐户

Search-ADAccount cmdlet 提供了一种查询 Active Directory 中非活动用户帐户的简单方法:

Search-ADAccount –UsersOnly –AccountInactive

[玩转系统] 如何使用 PowerShell 禁用不活动的用户帐户

上述命令返回所有非活动帐户。要将结果范围缩小到特定时间范围,您可以将-TimeSpan参数添加到Search-ADAccount。在下面的示例中,变量定义了 -TimeSpan 参数的值,并使用 New-Timespan cmdlet 来简化输入:

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

或者,您可以指定 -DateTime 参数来返回自给定日期以来处于非活动状态的帐户。在下面的命令中,返回自 2014 年 5 月 5 日以来不活动的帐户:

Search-ADAccount –UsersOnly –AccountInactive -DateTime ‘5/20/2014’

要获取有关帐户的更多用户友好信息,请将结果通过管道传输到 Get-ADUser cmdlet,然后使用 Select 选择要在输出中显示的列:

Search-ADAccount –UsersOnly –AccountInactive | Get-ADuser -Properties Department,Title | Select Name,Department,Title,DistinguishedName

[玩转系统] 如何使用 PowerShell 禁用不活动的用户帐户

结果还可以按指定字段排序,在本例中按 LastLogOnDate 属性排序,该属性派生自 LastLogonTimestamp 并转换为可读格式:

Search-ADAccount –UsersOnly –AccountInactive | Get-ADuser -Properties Department,Title | Sort LastLogOnDate | Select Name,Department,Title,DistinguishedName

值得注意的是,与 LastLogOn 属性不同,LastLogonTimestamp 在域控制器之间同步,但可能会过期 9 到 14 天,因此您应该记住这一点处理结果时。

简化输出并计算非活动用户数量的另一种方法是将结果通过管道传输到 Measure cmdlet:

Search-ADAccount –UsersOnly –AccountInactive –TimeSpan $timespan | Measure

与任何其他 PowerShell cmdlet 一样,结果可以通过管道传输到 Out-GridView 或逗号分隔的文件,以便将结果导入到 Excel 中。

Search-ADAccount –UsersOnly –AccountInactive –TimeSpan $timespan | Out-GridView
禁用不活动帐户

获得所需的结果集后,您所需要做的就是将它们通过管道传送到 Disable-ADAccount cmdlet(如下所示)以禁用帐户:

Search-ADAccount –UsersOnly –AccountInactive –TimeSpan $timespan | Disable-ADAccount

Netwrix Auditor 能够在所有受支持的 Windows 版本中检测和禁用不活动的用户帐户,并将结果集成到产品的数据库、报告和通知功能中,以便不需要单独运行和维护其他脚本。 Netwrix Auditor 可以禁用不活动帐户、设置随机密码、将帐户移动到指定的组织单位 (OU) 或删除帐户。

现在是时候在下面的投票中留下您的意见了。请记住,只有一个正确答案!

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

取消回复欢迎 发表评论:

关灯