我正在寻找 WMIC 解决方案来获取 Windows 域的 SID。我只能找到 PowerShell 的解决方案,但我更喜欢 WMIC 方法。
Google 上有很多获取域用户 SID 的示例,但没有一个告诉如何获取计算机或域的 SID。
答案1
据我所知,没有“域 SID”本身。我假设您所指的是域标识符,它唯一地标识了 AD 林中的域。
Active Directory 域中的每个 SID 都包含域标识符。我不知道有哪个 WMIC 命令会返回仅有的此标识符;但是,通过检查域中任何主体的 SID 很容易推断出它。
例如,以下 WMIC 命令返回 Domain Admins 组的 SID:
C:\>wmic group where name="Domain Admins" get name,sid,domain
Domain Name SID
CONTOSO Domain Admins S-1-5-21-1004336348-1177238915-682003330-512
正如 Microsoft Docs 文章中解释的那样安全标识符的工作原理,一个SID由以下几个部分组成:
- 修订级别(1)
- 标识符授权机构(5,NT 授权机构)
- 域标识符(21-1004336348-1177238915-682003330,康托索)
- 相对标识符(512,域管理员)
因此,您只需剥离修订级别、标识符权限和 RID,即可派生出域标识符部分。