如何使用PowerShell获取Windows所有本地组中的全部用户
方法1:PowerShell 命令(最推荐,支持批量导出)
适用于Win10/11、Server 2016及以上系统,直接以管理员身份打开PowerShell执行对应命令即可:
- 仅查看所有组的成员(无需导出):
Get-LocalGroup | ForEach-Object { $group = $_.Name; Get-LocalGroupMember -Group $group | Select-Object @{Name='组名';Expression={$group}}, Name, ObjectClass } - 导出结果到CSV文件(可直接用Excel打开筛选):
Get-LocalGroup | ForEach-Object { $group = $_.Name; Get-LocalGroupMember -Group $group | Select-Object @{Name='组名';Expression={$group}}, Name, PrincipalClass, ObjectClass } | Export-Csv -Path "C:\本地组用户列表.csv" -Encoding UTF8 -NoTypeInformation - Win7/Server 2008等旧系统兼容命令:
Get-WmiObject Win32_Group | Where-Object { $_.LocalAccount -eq $true } | ForEach-Object { $group = $_.Name; Get-WmiObject Win32_GroupUser | Where-Object { $_.GroupComponent -match $group } | ForEach-Object { $_.PartComponent -split 'Name="|"' | Select-Object -Index 1 } | Select-Object @{Name='组名';Expression={$group}}, @{Name='用户名';Expression={$_}} }
方法2:CMD 命令(兼容所有Windows版本)
以管理员身份打开命令提示符执行即可:
- 查看所有本地组列表:
net localgroup - 查看指定组的成员:
net localgroup 你要查询的组名,例如查询管理员组成员执行net localgroup Administrators - 批量导出所有组的成员到TXT文件,直接新建bat文件粘贴以下内容,右键以管理员身份运行即可:
@echo off set "output=本地组用户列表.txt" echo 本地组所有成员列表 > %output% echo =================================== >> %output% for /f "skip=4 delims=" %%g in ('net localgroup') do ( if "%%g" EQU "命令成功完成。" goto end echo 【组名:%%g】 >> %output% net localgroup "%%g" | findstr /v /c:"命令成功完成。" /c:"-------------------------------------------------------------------------------" /c:"别名" /c:"注释" /c:"成员" /r /c:"^$" >> %output% echo =================================== >> %output% ) :end echo 导出完成,结果保存在%output% pause
方法3:图形界面手动查询(适合临时少量查看)
- 按
Win+R组合键调出运行窗口,输入lusrmgr.msc后回车 - 点击左侧导航栏的「组」文件夹,右侧会展示所有系统存在的本地组(包含默认组和用户自定义组)
- 双击任意组名即可弹出窗口查看该组的所有成员
注意:所有查询操作都需要以管理员身份执行,否则部分权限受限的组的成员信息可能无法正常读取
内容的提问来源于stack exchange,提问作者FirstStepByStep
相关产品推荐
相关产品推荐

