如何在Windows中查找用户的安全标识符(SID)

用WMIC或注册表查找用户的SID

有很多原因可能会导致您在Windows中查找特定用户帐户的安全标识符 (SID),但在我们的角落,这样做的一个常见原因是确定Windows注册表中的 HKEY_USERS下的哪个寻找用户特定的注册表数据。

无论您需要什么原因,通过wmic命令(在大多数Windows版本的命令提示符中提供的命令) ,将SID匹配到用户名非常简单。

注意:请参阅如何在注册表下方的注册表中查找用户的SID,以获取有关通过Windows注册表中的信息(使用WMIC的替代方法)将用户名与SID进行匹配的说明。 wmic命令在Windows XP之前不存在,因此您必须在这些较早版本的Windows中使用注册表方法。

按照以下简单步骤显示用户名及其对应的SID表:

如何通过WMIC查找用户的SID

它可能只需要一分钟,或许更少,通过WMIC在Windows中找到用户的SID:

  1. 打开命令提示符 。 在Windows 10Windows 8中 ,如果您使用的是键盘鼠标 ,最快的方法是通过超级用户菜单 ,通过WIN + X快捷方式访问。
  2. 一旦命令提示符处于打开状态,请完全按照此处所示键入以下命令,其中包括空格或缺少: wmic useraccount get name,sid ...,然后按Enter键
    1. 提示:如果您知道用户名,并希望仅抓取该用户的SID,请输入此命令,但用USER替换USER (保留引号): wmic useraccount其中name =“USER”get sid 注意:如果出现错误wmic命令无法识别,请将工作目录更改为C:\ Windows \ System32 \ wbem \并重试。 你可以用cd (改变目录)命令来做到这一点。
  3. 您应该在命令提示符窗口中看到类似于以下内容的表:名称SID管理员S-1-5-21-1180699209-877415012-3182924384-500访客S-1-5-21-1180699209-877415012-3182924384 -501 HomeGroupUser $ S-1-5-21-1180699209-877415012-3182924384-1002 Tim S-1-5-21-1180699209-877415012-3182924384-1004更新用户S-1-5-21-1180699209-877415012-3182924384- 1007这是Windows中每个用户帐户的列表,按用户名列出,后跟该帐户的相应SID。
  1. 现在您已确信特定的用户名与特定的SID相对应,您可以在注册表中进行所需的任何更改,或者执行您需要的任何其他信息。

提示:如果您碰巧遇到需要查找用户名的情况,但您拥有的只是安全标识符,则可以像这样“反转”命令(只需将此SID替换为所讨论的那个):

wmic useraccount where sid =“S-1-5-21-1180699209-877415012-3182924384-1004”取名

...得到这样的结果:

姓蒂姆

如何在注册表中查找用户的SID

您还可以通过查看此密钥下列出的每个S-1-5-21前缀SID中的ProfileImagePath 来确定用户的SID:

HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ Windows NT \ CurrentVersion \ ProfileList

每个SID命名的注册表项中的ProfileImagePath值列出配置文件目录,其中包含用户名。

例如,我的计算机上的S-1-5-21-1180699209-877415012-3182924384-1004密钥下的ProfileImagePath值是C:\ Users \ Tim ,所以我知道用户“Tim”的SID是“S -1-5-21-1180699209-877415012-3182924384-1004" 。

注意:这种将用户与SID进行匹配的方法将仅显示已登录或已登录并切换用户的用户。 要继续使用注册表方法确定其他用户的SID,您需要以系统上的每个用户身份登录并重复这些步骤。 这是一个很大的缺点; 假设你可以,使用上面的wmic命令方法会更好。