如何通过PowerShell脚本定期审计并清理过期域账号

千浩姑娘_9313

千浩姑娘_9313

2026-05-15

719人浏览

原创

可通过PowerShell脚本定期识别、禁用并(可选)删除AD中90天未登录的域账号,依据LastLogonDate属性判断过期,需满足AD模块、权限、域功能级别等前提,并推荐分禁用、观察、删除三阶段安全执行。

可以通过powershell脚本结合windows server域环境的active directory模块,定期识别、禁用并(可选)删除超过指定天数未登录的域账号。关键在于准确判断“过期”——通常以 lastlogontimestamp(复制属性,延迟最长14天)或更精确的 lastlogondate(需域功能级别≥2008 r2,且各dc同步后才可靠)为依据,并辅以账号启用状态、密码策略和组织单位(ou)范围控制。

一、确认前提条件与权限

执行脚本前需确保:

  • 运行环境已安装 ActiveDirectory PowerShell模块(通常需在域控或已配置RSAT的管理机上);
  • 执行账户具备 读取用户对象属性 权限,若需禁用/删除账号,还需 修改用户账户控制(userAccountControl) 和 删除对象 权限;
  • 目标域支持 LastLogonDate 属性(推荐使用,比 LastLogonTimestamp 更及时);
  • 明确清理策略:是仅禁用(推荐先试运行)、还是直接删除?是否排除管理员、服务账号、特定OU?

二、基础审计脚本示例(导出待处理账号)

以下脚本查找过去90天内未登录、且处于启用状态的普通用户账号(排除内置账户和服务账号):

# 设置参数
$DaysInactive = 90
$SearchBase = "OU=Users,DC=contoso,DC=com"  # 指定OU范围,留空则查整个域
$ExcludeGroups = @("Domain Admins", "Enterprise Admins", "Server Operators")
$ExportPath = "C:\Reports\StaleAccounts_$(Get-Date -Format 'yyyyMMdd').csv"
<h1>获取过期账号(使用LastLogonDate,更准确)</h1><p>$StaleUsers = Search-ADAccount -UsersOnly -AccountInactive -TimeSpan "$DaysInactive" -SearchBase $SearchBase |
Where-Object {
$<em>.Enabled -eq $true -and
$</em>.SamAccountName -notmatch '^((KRBTGT|ADMINISTRATOR|GUEST)|S-\d-\d-\d{2}-\d{8,10}-\d{8,10}-\d{8,10}-\d{8,10})$' -and
($<em>.DistinguishedName -notmatch 'CN=Administrator|CN=Guest') -and
(-not (Get-ADPrincipalGroupMembership $</em> | Where-Object Name -in $ExcludeGroups))
} |
Get-ADUser -Properties LastLogonDate, PasswordLastSet, Description, Department |
Select-Object SamAccountName, Name, LastLogonDate, PasswordLastSet, Enabled, Description, Department, DistinguishedName</p><h1>导出报告</h1><p>$StaleUsers | Export-Csv -Path $ExportPath -NoTypeInformation -Encoding UTF8
Write-Host "共发现 $($StaleUsers.Count) 个待审核账号,已导出至 $ExportPath"
</p>

三、安全清理流程(建议分阶段执行)

不建议一步删除。推荐三阶段策略:

PDFlux
PDFlux

PDFlux是一款用于复杂 PDF 数据抽取、识别和格式转换的 AI 文档处理工具。

下载
  • 第一阶段(禁用+通知):对导出账号执行 Disable-ADAccount,并在Description字段追加禁用时间与原因(如 "DISABLED-20240520-Inactive90days"),便于追溯;
  • 第二阶段(保留观察):禁用后保留30–60天,期间监控业务影响、接收反馈;
  • 第三阶段(删除):确认无误后,用 Remove-ADUser -Confirm:$false 删除;生产环境强烈建议加日志记录与备份(如导出DN列表后再删)。

四、部署为定期任务

将脚本保存为 Invoke-StaleAccountCleanup.ps1,通过Windows任务计划程序定时运行:

  • 触发器设为每周日凌晨2点;
  • 操作中启动程序填 powershell.exe,参数填:
    -ExecutionPolicy Bypass -File "C:\Scripts\Invoke-StaleAccountCleanup.ps1";
  • “运行方式”选择具备AD权限的专用服务账户(避免用Administrator);
  • 勾选“不管用户是否登录都要运行”和“使用最高权限”。

脚本内建议加入错误捕获(try/catch)和邮件通知(用 Send-MailMessage 或现代 Send-MgUserMail)发送摘要报告。

相关文章

PHP速学视频免费教程(入门到精通)
PHP速学视频免费教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载

相关标签:

shell脚本

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

相关专题

更多
服务器是什么
服务器是什么

服务器是一种计算机硬件设备或软件程序,它具有强大的计算和存储能力,用请求、存储数据和提供服务。它在互联网中着关重要的作用,为用户提供各种服务和资源。本专题为大家提供服务器相关的文章、下载、课程内容,供大家免费下载体验。

2023.08.15

457

5

连接apple id服务器时出错
连接apple id服务器时出错

连接apple id服务器时出错的原因包括网络连接问题、服务器问题、Apple ID账户问题、设备问题、防火墙或安全软件问题、时间和日期设置问题、Apple服务器维护等。本专题为大家提供apple id相关的文章、下载、课程内容,供大家免费下载体验。

2023.09.08

960

5

搭建互联网服务器
搭建互联网服务器

搭建互联网服务器需要:1、选择合适的硬件和操作系统,第一步是选择合适的硬件和操作系统;2、安装和配置操作系统,是搭建互联网服务器的关键步骤;3、安装和配置服务器软件,是搭建互联网服务器的下一步,常见的服务器软件包括Apache、Nginx、Tomcat等;4、配置防火墙和安全性,是搭建互联网服务器的重要步骤;5、域名解析和配置,是搭建互联网服务器的最后一步。

2023.09.19

3252

5

如何查看服务器状态
如何查看服务器状态

查看服务器状态的方法有使用命令行工具、图形界面工具、监控工具、日志文件和远程管理工具等。本专题为大家提供服务器状态相关的文章、下载、课程内容,供大家免费下载体验。

2023.10.09

1076

5

服务器域名转接慢怎么解决
服务器域名转接慢怎么解决

服务器域名转接慢的解决办法有DNS优化、服务器优化、CDN加速、前端优化和网络优化等。本专题为大家提供服务器相关的文章、下载、课程内容,供大家免费下载体验。

2023.10.17

969

5

服务器评测软件
服务器评测软件

服务器评测软件有PassMark Software、CPU-Z、GPU-Z、CrystalDiskMark、IOmeter、JMeter、LoadRunner、Apache Bench等等。详细介绍:1、PassMark Software是一款综合性的服务器性能测试软件,可以评估服务器在各种负载条件下的性能;2、CPU-Z是一款可以提供服务器CPU详细信息的软件等等。

2023.10.17

514

3

如何开启TFTP服务器
如何开启TFTP服务器

开启TFTP服务器的步骤包括选择TFTP服务器软件、下载和安装软件、配置TFTP服务器以及启动和测试服务器等。本专题为大家提供服务器相关的文章、下载、课程内容,供大家免费下载体验。

2023.10.18

2996

4

服务器负载不兼容怎么解决
服务器负载不兼容怎么解决

解决方法:1、增加服务器资源;2、负载均衡;3、优化应用程序;4、增加缓存机制;5、分布式架构;6、限流和熔断;7、自动化扩容。想知道更详细服务器负载不兼容的解决方法,可以访问本专题下面的文章。

2023.10.20

5612

4

宽带如何接入服务器
宽带如何接入服务器

宽带接入服务器的方法有ADSL宽带接入服务器、光纤接入服务器、无线接入服务器和以太网接入服务器等。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

2023.10.20

867

5

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
尚观shell视频教程
尚观shell视频教程

共8课时 | 1.9万人学习

Linux开发视频教程
Linux开发视频教程

共18课时 | 4.7万人学习

Perl 入门教程
Perl 入门教程

共29课时 | 31.4万人学习