首页/系统/Windows 运维速查/本机账户安全检查清单(四件套)

本机账户安全检查清单(四件套)

定期核查:多余管理员、永不过期密码、Guest 状态、长期未登录账户;一套命令导出清单逐项确认。

Windows 运维速查系统更新于 2026-10-13

本机账户安全检查是什么

这是一套固定动作的例行核查:看管理员组里都有谁、有没有密码永不过期的账号、Guest 是否被启用、长期未登录的账号是否还在。它不需要专业工具,几条 PowerShell 命令就能导出清单,把结果按月归档后,就形成了一份能追溯的基线记录。发现异常账号时,先确认用途再处置,不要直接删。

基本信息

适用平台Windows 10/11、Server 2016 及以后
检查项管理员组成员、密码过期设置、Guest 状态、长期未登录账户
常用命令Get-LocalGroupMember、Get-LocalUser、Export-Csv
建议频率月度,以及任何账户变更之后
归档方式导出 CSV 并按日期命名留存
关联策略net accounts 的策略值一并记录

检查项清单

  • 管理员组成员:逐个确认身份与用途,剔除临时授权
  • 密码永不过期:服务账户可以有,人类账号要追问原因
  • Guest 状态:应为禁用,启用即为风险点
  • 长期未登录:按 LastLogon 排序,逐个确认是否可停用
  • 空密码与弱策略:核对 net accounts 基线值
  • 账户描述:空描述的账号往往是历史遗留

常用示例

常用示例
Get-LocalGroupMember -Group Administrators | Select-Object Name, PrincipalSource   # 管理员都有谁
Get-LocalUser | Where-Object { $_.Enabled -and $null -eq $_.PasswordExpires } | Select-Object Name, LastLogon   # 密码永不过期且启用的账号
Get-LocalUser -Name Guest | Select-Object Name, Enabled, Description                # Guest 是否启用
Get-LocalUser | Where-Object Enabled | Sort-Object LastLogon | Select-Object Name, LastLogon -First 10   # 最久未登录
net accounts                                                                         # 策略基线
Get-LocalUser | Export-Csv D:\audit\localusers_20261013.csv -NoTypeInformation -Encoding UTF8   # 归档

风险信号读法

发现项风险含义处理建议
管理员组有陌生账号可能为未登记的授权确认用途,无主则移除
人类账号密码永不过期口令长期不换风险核对原因并按基线整改
Guest 启用匿名访问入口确认无依赖后禁用
长期未登录仍启用攻击面残留评估后停用
描述为空的账号用途不明补充说明或走清理流程
PasswordExpires 为 $null 的账号表示密码永不过期,服务账户常见这种配置,但出现在人类账号上就要追一下原因;审计的重点不是数量,而是每一个都能解释得清。
清理账号前先确认它没有被计划任务、服务、共享授权或应用配置引用:很多“没人用”的账号其实承担着自动化身份,停掉之后故障会以完全无关的症状出现。

易错点

  • 只看管理员组成员就交差,忽略了服务账户、计划任务这类不以登录方式出现的身份
  • 把长期未登录的账号直接删除,改天发现某个定时任务一直在用它,任务就此静默失败
  • 每次审计都重新手工执行、不落档,无法回答“上个季度是谁在这个组里”
  • 发现异常账号只做技术处置,不追责到授权流程,同类问题会反复出现

数据来源与参考

  • Microsoft Learn:Get-LocalGroupMember
  • Microsoft Learn:账户审计最佳实践

相关工具

​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌