如何通过 PowerShell 列出系统上的所有组?

如何通过 PowerShell 列出系统上的所有组?

以下两个命令给出了我的问题的背景:

  • gcim Win32_Account | ft 名称,SID 列出系统上的所有 SID 及其对应的帐户
  • gcim Win32_UserAccount | ft 名称,SID 列出系统上的用户账户及其对应的 SID

如何才能完成同样的任务群组在每种情况下?

答案1

Get-LocalGroup应该可以解决问题。

要使其匹配您当前的命令:

get-LocalGroup | ft Name, SID

返回:

Name                                SID
----                                ---
Access Control Assistance Operators S-1-5-32-579
Administrators                      S-1-5-32-544
...

答案2

也许自从最初提出并回答这个问题以来,情况已经发生了变化,但在 2021 年 2 月 5 日,在我写这个答案之前,我最新的 Windows 10 管理员 powershell 回复了

gcim Win32_Account | ft Name, SID  

包含三个不同实体的列表:。

用户

内置安全主体。

这些可以通过其 SID 的格式轻松区分:

用户具有类似“S-1-5-22-0000000000-1111111111-2222222222-333[3]”的 SID;
组具有类似“S-1-2-3[3]”的 SID
;内置安全主体具有类似“S-1-2-33-444”的 SID

笔记:

  1. 当然,实际数字会有所不同。但我上面写的数字是我的机器上 SID 每个字段中显示的数字。YMMV。
  2. 在我的示例中,方括号中的数字可能在 SID 中,也可能不在。例如,在我的计算机上,Windows 创建的用户(如“管理员”或“来宾”)在其 SID 的最后一个字段中有 3 位数字,而我创建的所有用户在最后一个字段中都有 4 位数字。
  3. 在我的计算机上,列表中的最后一个组名为“BUILTIN”,SID 为 S-1-5-32,并且全部内置安全主体的 SID 下都有一个 SID。例如,“Guests”是 S-1-5-32-546,“Users”是 S-1-5-32-545。

无论如何,您都可以从我的机器上的单个 gcim Win32_Account powershell 命令获取用户和组(以及内置安全主体)。

相关内容