无法用单条命令导出所有本地用户及权限明细,需分三步:一、用net user和PowerShell导出用户及组关系;二、用whoami /priv和wmic查特权权限;三、用icacls导出关键路径文件系统ACL。
不能直接用一条命令导出“所有本地用户及权限明细”这个完整视图,因为windows没有内置命令能一次性汇总用户账户、所属组、文件系统权限、注册表权限、服务权限等全部维度。但可以分三步组合实现核心目标:先列出用户与组关系,再提取关键权限上下文(如管理员组成员、特权权限),最后导出文件系统级acl作为权限落地证据。
一、导出本地用户列表及其所属组
这是权限分析的基础。以管理员身份运行CMD或PowerShell:
- 查看所有本地用户:net user
- 导出为文本(含用户名、全名、上次登录等):net user > C:\users_list.txt
- 逐个检查每个用户的组成员身份(例如查Administrator):net user Administrator
- 批量导出所有用户所属的本地组(需PowerShell):
Get-LocalUser | ForEach-Object { $u=$_.Name; "$u : $( (Get-LocalGroupMember -Group 'Administrators' -ErrorAction SilentlyContinue | Where-Object {$_.Name -match $u}) -ne $null)" } > C:\admin_members.txt
二、导出用户特权权限(SeRights)
某些高危权限(如“取得文件或其他对象的所有权”“调试程序”)不体现在文件夹属性里,而是在用户令牌中配置。可用whoami /priv查看当前用户权限,但要查所有用户需借助PowerShell和WMI:
- 导出当前会话用户的全部特权:whoami /priv > C:\current_privs.txt
- 检查指定用户(如John)是否被授予“取得所有权”权限:
wmic useraccount where "name='John'" get name,sid → 获取SID后,用PowerShell查询本地安全策略(需配合secedit导出策略数据库,较复杂,日常审计中更推荐聚焦管理员组+文件ACL)
三、导出关键路径的文件系统权限(最实用、可审计)
绝大多数权限问题最终反映在文件/文件夹访问上。用icacls批量导出是最快落地的方式:
- 导出C:\Users下所有用户主目录权限(含继承标记):
icacls "C:\Users\*" /t /c /q > C:\users_acl_report.txt - 导出Program Files和共享文件夹权限(替换为你的真实路径):
icacls "C:\Program Files" "D:\Shared" /t /c /q > C:\critical_paths_acl.txt - 加/save可生成机器可读备份(用于后续恢复):
icacls "C:\Shared" /save "C:\shared_perms_backup.acl" /t /c
四、补充建议:快速定位高风险配置
不需要全量扫描也能发现典型问题:
- 查谁在Administrators组:net localgroup Administrators
- 查哪些账户启用了但无密码(极危险):net user | findstr /i "active.*no password"
- 查所有具有完全控制权限的非管理员账户(需人工筛查icacls输出中的F权限+非Admin组用户)
实际运维中,把这三类输出(用户列表、组关系、关键路径ACL)合并到Excel里交叉比对,就能清晰看出“谁属于什么组、能访问哪些资源、是否越权”。不依赖第三方工具,全程使用系统原生命令,稳定可靠。











