我试图找到管理员组的sid。例如 根据微软的说法,该组的sid是:S-1-5-21- 机器 -500 计算机 是标识符时表示与特定计算机关联的三个子权限值。
您可以在以下链接中看到它:
https://msdn.microsoft.com/en-us/library/cc980032.aspx
我不明白<machine>
的含义以及如何在c#中使用它。
有人知道它是什么或我怎么能得到它?
答案 0 :(得分:1)
最高500的所有内容都标识了SID的发行者,在本例中是机器。
S-1-5表示&#34; NT AUTHORITY&#34;,即此SID由Windows NT系统发出。 (这种区别的原因是SID是OID的子集,是用于生成唯一ID的OSI标准,是DCE项目的一部分,也用于LDAP)。
S-1-5-21-X-X-X表示&#34;由域&#34;发出,其中X-X-X是在创建域时或安装机器时生成的唯一随机数。 这也被称为&#34;机器SID&#34;或&#34;域SID&#34;如果是域名。具体来说,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#查找有关安全组的信息,则应使用可从System.DirectoryServices命名空间访问的ADSI API。对于本地群组,您需要使用WinNT://MACHINENAME/
作为初始路径。
请注意,用户未列为其主要组的成员(通常是“用户”)。您必须查看用户的PrimaryGroup属性。