Windows Server 2025 / 如何管理本地用户和组
本地用户账户由某一台 Windows Server 系统管理;本地组将账户归组,便于在这台服务器上分配权限和用户权利。日常账户应与管理账户分开,只授予完成任务所需的组成员资格。
区分本地身份和域身份
FS1 上的本地 labuser 由 FS1 管理。在另一台服务器上创建同名账户会生成不同的身份。域账户由 Active Directory 管理,可在加入的计算机上进行身份验证。
| 格式 | 含义 |
|---|---|
| FS1\labuser 或 .\labuser | 指定服务器上的本地账户,或当前计算机上的账户 |
| AD\user1 | NetBIOS 短名称为 AD 的域中的账户 |
| user1@ad.example.test | 一个域用户登录名 |
请在尚未提升为域控制器的 FS1 上进行本练习。域控制器不以普通成员服务器的方式管理本地账户,因此 DC1 上没有“本地用户和组”节点,本身不代表发生了错误。
在图形界面中创建用户和组
- 在使用 Desktop Experience 的 FS1 上,以管理员身份登录并打开 compmgmt.msc。Server Core 使用下一节的 PowerShell 方法。
- 打开“系统工具 → 本地用户和组 → 用户”,在右键菜单中选择“新用户”。
- 使用唯一密码创建 labuser。选择适合计划的登录方式和策略的密码更改条件。
- 打开“本地用户和组 → 组”,选择“新建组”,创建 LabReaders 并添加本地用户 labuser。检查账户来自 FS1,不要把它添加到具有管理员权限的内置组。
LabReaders 是您自己的组名,并且不会随 Windows 界面语言而更改。内置组显示名称可以本地化,因此请检查描述和成员以及名称。
仅具有成员资格并不能授予文件访问或远程登录权限。您必须在资源上单独分配组权限或在适用的登录策略中分配权限。
使用 PowerShell 创建等效配置
如果图形界面练习已创建这些对象,不要重复创建同名用户或组。在尚不存在这些对象的 FS1 上,使用以管理员身份启动的 64 位 Windows PowerShell。New-LocalUser 接收 SecureString 类型的密码;Read-Host 的 -AsSecureString 参数让您输入密码,而不必把可见的密码明文写进代码:
$labPassword = Read-Host 'Password for labuser' -AsSecureString
New-LocalUser -Name 'labuser' -Password $labPassword -Description 'Lab standard user'
New-LocalGroup -Name 'LabReaders' -Description 'Lab read access group'
Add-LocalGroupMember -Group 'LabReaders' -Member "$env:COMPUTERNAME\labuser"
Get-LocalGroupMember -Group 'LabReaders'
最后一条命令应显示 FS1\labuser 是 LabReaders 的成员。Add-LocalGroupMember 中明确指定计算机名,可以区分同名的本地账户与域账户,详见 本地组成员管理说明。不要把密码写进源代码,也不要用无密码账户省略密码配置。LocalAccounts 模块在 64 位系统的 32 位 PowerShell 中不可用。
验证账户状态和实际用户会话
分别检查对象创建和实际访问。下面前两条查询显示 labuser 状态及组成员资格,Enabled 表示账户是否启用。whoami 和 whoami /groups 则应在真正的普通用户会话中运行,用来检查该会话的身份和组,而不是在管理员窗口中运行。
Get-LocalUser -Name 'labuser' | Select-Object Name,Enabled,LastLogon
Get-LocalGroupMember -Group 'LabReaders'
whoami
whoami /groups
组成员资格改变后,已打开的会话可能仍保留登录时生成的访问令牌,即该会话的安全身份数据。比较结果前,先注销并重新登录。登录失败时,检查账户是否启用、密码、键盘布局以及本地或域身份。拒绝登录的策略可以优先于组成员资格生效,授予管理员权限并不是通用的修复方法。
当账户只是暂时未使用时,请先禁用
这两行是方向相反的替代选项:Disable-LocalUser 禁用账户,Enable-LocalUser 重新启用账户。只运行需要的那一行,不要把整个代码块当作连续操作执行:
Disable-LocalUser -Name 'labuser'
Enable-LocalUser -Name 'labuser'
永久移除本练习的用户和组配置前,检查是否仍有权限分配给该组。先移除成员资格,仅在确认不再需要后删除组和用户:
Remove-LocalGroupMember -Group 'LabReaders' -Member "$env:COMPUTERNAME\labuser"
Remove-LocalGroup -Name 'LabReaders'
Remove-LocalUser -Name 'labuser'
用相同名称重新创建账户,会获得不同的安全标识符(SID,Security Identifier),其机制见微软的 安全标识符说明。旧权限不会自动转移到新账户。后续文件权限练习仍需使用该账户时,应保留它。禁用任何管理账户之前,先确认另一个管理员登录途径可以正常使用。




