Set-LocalUser 是什么
本地账户建好之后,日常维护都靠这几条命令:Set-LocalUser 改描述、是否可改密码、账户到期时间;Disable-LocalUser 与 Enable-LocalUser 控制启用状态;Rename-LocalUser 改显示与登录名。停用与删除的差别很重要:停用保留 SID 与用户配置文件,历史权限与审计记录仍指向同一个身份,删除则让一切归属变得难以追溯。
基本信息
| 适用平台 | Windows 10/11、Server 2016 及以后(LocalAccounts 模块) |
|---|---|
| 权限要求 | 管理员权限的 PowerShell 会话 |
| 属性修改 | Set-LocalUser -Name x -Description '...' -AccountExpires (Get-Date) |
| 启用停用 | Disable-LocalUser / Enable-LocalUser -Name x |
| 重命名 | Rename-LocalUser -Name 旧 -NewName 新(SID 不变) |
| 查询 | Get-LocalUser -Name x | Select-Object Name, Enabled, Description |
典型使用场景
- 离职或临时停用时先禁用账户,保留审计链路
- 给共享账户改描述,写清用途与责任人
- 设置账户到期时间,让临时账号自动失效
- 改名但不改身份:员工改名后保留原 SID 与权限
- 盘点时批量核对哪些账户仍处于启用状态
常用示例
常用示例
Disable-LocalUser -Name ops01 # 先停用,保留账户
Set-LocalUser -Name ops01 -Description '已停用 2026-10-13,离职交接中'
Get-LocalUser -Name ops01 | Select-Object Name, Enabled, Description, LastLogon
Enable-LocalUser -Name ops01 # 确认误停后恢复
Set-LocalUser -Name ops01 -AccountExpires (Get-Date).AddDays(30) # 到期自动失效
Rename-LocalUser -Name ops01 -NewName ops01_2026 # 改名,SID 不变
Set-LocalUser -Name svc01 -PasswordNeverExpires $true # 服务账户常用设置操作对照
| 操作 | 保留内容 | 适用场景 |
|---|---|---|
| Disable-LocalUser | SID、配置文件、权限 | 离职、临时停用 |
| Enable-LocalUser | 同上 | 恢复使用 |
| Rename-LocalUser | SID 不变 | 更名但保留权限 |
| Set-LocalUser -Description | 账户本体 | 写清用途与责任人 |
| Remove-LocalUser | 什么都不保留 | 确认无引用后再删 |
停用是离职处置的首选动作:账户还在、SID 还在,历史文件的所有者与审计记录不会变成让人困惑的孤儿标识,观察期结束后再决定是否删除。
禁用不等于踢下线:已经建立的登录会话、映射的网络盘、正在运行的服务不会立刻停止,敏感场景还要注销会话或重置口令。
把“停用、留档、观察、清理”做成固定四步,就不容易在情绪紧张时跳过某一步:处置是否可逆、证据是否完整,全靠这四步有没有走完。