Windows Server 中怎么使用 PowerShell 批量清理长期未登录的僵尸域用户

秋辰同学_7591

秋辰同学_7591

2026-09-25

685人浏览

原创

应优先使用lastlogondate筛选已启用且180天未登录的域用户,排除服务账户和内置账户后,按通知→禁用→验证→删除四步法安全清理,并导出报告、启用ad回收站、固化入职/离职流程。

在 windows server 中批量清理长期未登录的域用户,核心是识别“已启用但长时间无活动”的账号,并安全执行禁用或删除。不能只看密码是否过期,也不能直接删——得结合登录时间、启用状态、账户类型和业务归属综合判断。

关键筛选条件:用 LastLogonDate 还是 LastLogonTimestamp?

优先使用 LastLogonDate(推荐),它是 PowerShell 封装后的易读属性,自动处理时区与空值;LastLogonTimestamp 虽同步延迟(最多14天),适合大范围初筛,但需手动转时间且对空值敏感。两者都需配合 Enabled -eq $true,排除已被禁用的账户。

  • 查过去180天内从未登录的启用用户:
    Get-ADUser -Filter {Enabled -eq $true} -Properties LastLogonDate,PasswordLastSet,Department | Where-Object {$_.LastLogonDate -lt (Get-Date).AddDays(-180) -or $_.LastLogonDate -eq $null}
  • 排除常见服务账户(如 svc_、sql_、adm_ 开头)和内置账户:
    | Where-Object {$_.SamAccountName -notmatch "^svc_|^sql_|^adm_|^krbtgt|^Administrator$"}

安全清理四步法:通知 → 禁用 → 验证 → 删除

不建议一步到位删除。标准流程是先禁用并观察周期(如30天),确认无业务影响后再清理。

windows-healing-gateway
windows-healing-gateway

通过任务计划程序自动监控并自修复 Windows 上的 OpenClaw Gateway,具备 AI 诊断和 Telegram 报警功能。

下载
  • 导出待处理名单(含关键信息):包括姓名、登录名、部门、最后登录时间、密码最后设置时间、启用状态
    | Select-Object Name,SamAccountName,Department,@{N='LastLogon';E={$_.LastLogonDate}},@{N='PwdLastSet';E={$_.PasswordLastSet}},Enabled | Export-Csv C:\Reports\StaleUsers_$(Get-Date -Format 'yyyyMMdd').csv -NoTypeInformation -Encoding UTF8
  • 批量禁用(带日志):
    | ForEach-Object { Disable-ADAccount -Identity $_.SamAccountName -WhatIf } # 先试运行<br>Disable-ADAccount -Identity $_.SamAccountName; Write-EventLog -LogName Application -Source "AD-Cleanup" -EntryType Information -EventId 1001 -Message "Disabled stale user: $($_.SamAccountName)"
  • 清理前再确认:检查是否被锁定、是否在关键组(如 Domain Admins)、是否有邮箱或 Azure AD 同步依赖

排除干扰项:哪些用户不能动?

直接过滤掉以下类型,避免误操作:

  • 操作系统为 Windows Server 的计算机账户(非用户):
    Get-ADComputer -Filter {OperatingSystem -like "*Server*"} -Property Name,OperatingSystem
  • OU 在 “Domain Controllers” 或 “Service Accounts” 下的用户
  • 密码永不过期且近期有登录的高权限账号(需单独审计):
    Get-ADUser -Filter {PasswordNeverExpires -eq $true -and Enabled -eq $true} -Properties LastLogonDate | Where-Object {$_.LastLogonDate -gt (Get-Date).AddDays(-90)}
  • UPN 后缀不是公司主域名的(如 @guest.contoso.com),可能是外部协作账号

后续动作建议

清理不是终点。建议每月自动运行一次扫描脚本,将结果邮件发送给IT负责人;对连续两次进入清单的账户,触发自动禁用;所有操作必须开启 AD 回收站功能,确保可还原。另外,把清理逻辑固化进入职/离职流程——新用户默认90天未登录自动禁用,比事后补救更可靠。

相关专题

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

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

2023.08.15

417

5

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

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

2023.09.08

840

5

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

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

2023.09.19

2432

5

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

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

2023.10.09

816

5

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

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

2023.10.17

729

5

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

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

2023.10.17

374

3

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

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

2023.10.18

2196

4

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

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

2023.10.20

4032

4

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

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

2023.10.20

647

5

热门下载

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

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
Buffalo框架快速入门指南
Buffalo框架快速入门指南

共0课时 | 0人学习

Conan 2 安装指南
Conan 2 安装指南

共0课时 | 0人学习