机器中本地组的 Sid

Sid of local group in machine

例如,我尝试查找管理员组的 sid。
根据 Microsoft,该组的 sid 是:S-1-5-21-machine-500 当 machine 标识符表示与特定机器关联的三个子权限值。

可以在下面看到link:
https://msdn.microsoft.com/en-us/library/cc980032.aspx

我不明白 <machine> 的含义以及如何在 c# 中使用它。

任何人都知道它是什么或我怎样才能得到它?

500 之前的所有内容都标识 SID 的颁发者,在本例中为计算机。

  • S-1-5 表示 "NT AUTHORITY",即这个 SID 是由 Windows NT 系统发布的。 (这种区别的原因是 SID 是 OID 的子集,OID 是用于生成唯一 ID 的 OSI 标准,是 DCE 项目的一部分,也用于 LDAP)。

  • S-1-5-21-X-X-X 表示 "Issued by a domain",其中 X-X-X 是创建域时或安装机器时生成的唯一随机数。 这也称为 "machine SID" 或 "domain SID"(如果它用于域)。具体来说,21标识后面的三组标识一个域,进而会下发更多的SID。

  • S-1-5-21-X-X-X-500为S-1-5-21-X-X-X

  • 标识的机器的管理员账号

500 是 RID 或相对 ID。这相当于 Linux 上的 GID。 500 是要创建的第一个本地帐户或组,因为 RID 是从 500 开始分配的。下一个本地帐户或组将获得 RID 501,依此类推。 500 通常是帐户管理员,但不是组。

如果您想从 C# 中查找有关安全组的信息,您应该使用 ADSI API,可从 System.DirectoryServices 命名空间访问。对于本地组,您需要使用 WinNT://MACHINENAME/ 作为初始路径。

请注意,用户未列为其主要组(通常是用户)的成员。为此,您必须查看用户的 PrimaryGroup 属性。