当前登录用户的完整SID可通过whoami /user命令获取,输出中“SID”字段的字符串即为该值,形如S-1-5-21-1234567890-1234567890-1234567890-1001,绑定当前交互式会话且不可伪造。

在 Windows 11 中确认当前登录用户的完整系统安全标识符(SID),是配置权限、定位注册表配置单元或编写自动化脚本的关键前提,该值不可伪造、不可重复,且图形界面不直接显示。
使用 whoami /user 命令获取 SID
第一步:按 Win + R 打开“运行”对话框,输入 cmd 并回车,启动命令提示符。
第二步:在窗口中键入 whoami /user 并按回车。该命令无需管理员权限,所有标准用户均可执行。
第三步:观察输出结果——第三行以 SID 开头的字符串即为当前会话的完整 SID,形如 S-1-5-21-1234567890-1234567890-1234567890-1001。注意:该 SID 绑定的是当前交互式登录会话,不是计算机 SID,也不是其他用户会话的 SID。
这一步操作起来很简单,但务必核对输出中的“SID”字段,而非“UserName”行;若误读用户名行,将导致后续权限配置完全错位。
验证 SID 是否属于当前用户(可选)
方法一:用 wmic 对照查看
在同一个命令提示符窗口中,直接输入:wmic useraccount where "name='%USERNAME%'" get name,sid 回车。
该命令会根据环境变量 %USERNAME% 精确匹配本地账户名,并返回其 SID。若与 whoami /user 输出的 SID 完全一致,则验证通过。
【注意】此方法仅适用于本地账户;若当前登录的是 Microsoft 账户,wmic 可能查不到对应条目,此时应改用 PowerShell 方式验证。
用 PowerShell 精确提取 Microsoft 账户 SID
第一步:在命令提示符中输入 powershell 进入 PowerShell 环境。
第二步:执行以下命令获取当前用户主体名称(UPN):whoami /upn。输出类似 user@outlook.com 的邮箱格式。
第三步:将上一步结果代入查询命令:Get-CimInstance -ClassName Win32_UserAccount | Where-Object {$_.Caption -eq 'COMPUTERNAME\user'} | Select-Object SID。注意需把 COMPUTERNAME\user 替换为实际的本地上下文名(可用 echo %USERDOMAIN%\%USERNAME% 快速获取)。
第四步:若上一步无输出,说明该账户由 Microsoft 身份后端管理,其 SID 实际存储在 HKEY_USERS 下以 SID 命名的子项中——此时回到 whoami /user 的结果即可,它仍是当前会话唯一有效的 SID。

















