如何使用 PowerShell 获取本地管理员组成员?

powershellmicrosoft technologiessoftware & coding更新于 2026/2/10 5:52:17

要使用 PowerShell 获取本地管理员组成员,您需要使用 GetLocalGroupMember 命令。此命令在 PowerShell 5.1 及更高版本中可用,其模块为 Microsoft.PowerShell.LocalAccounts。此模块在 32 位 PowerShell 版本中不可用,但在 64 位系统上可用。

在以下示例中,我们需要检索本地管理员组成员。

示例

Get-LocalGroupMember -Group "Administrators"

输出

ObjectClass    Name          PrincipalSource
-----------    ----          ---------------
User          LABDOMAIN\delta
Group         LABDOMAIN\Domain Admins
User          TEST1-WIN2K12\Administrator
User          TEST1-WIN2K12\LocalAdmin

"名称"属性显示本地管理员组的成员。要从远程服务器检索本地管理员组成员,我们需要使用 Invoke-Command 方法。

示例

Invoke-Command -ComputerName Test1-Win2k16 -ScriptBlock{Get-LocalGroupMember -
Name 'Administrators'}

输出

ObjectClass    Name                         PrincipalSource          PSComputerName
-----------    ----                         ---------------          --------------
User           LABDOMAIN\Delta              ActiveDirectory          Test1-Win2k16
Group          LABDOMAIN\Domain             Admins ActiveDirectory   Test1-Win2k16
User           TEST1-WIN2K16\Administrator  Local                    Test1-Win2k16
User           TEST1-WIN2K16\LocalAdmin     Local                    Test1-Win2k16
User           TEST1-WIN2K16\Localuser      Local                    Test1-Win2k16

您还可以过滤特定用户,如下所示。

示例

Invoke-Command -ComputerName Test1-Win2k16 -ScriptBlock{Get-LocalGroupMember -
Name 'Administrators' | where{$_.Name -like "*Alpha*"}}

输出

ObjectClass    Name                PrincipalSource PSComputerName
-----------    ----                --------------- --------------
User           LABDOMAIN\alpha     ActiveDirectory Test1-Win2k16

在早期版本的 PowerShell 中,此命令不受支持。您也可以使用 cmd 检索输出。

示例

net localgroup administrators

输出

Alias name    administrators
Comment       Administrators have complete and unrestricted access to the comput
er/domain
Members
-------------------------------------------------------------------------------
Administrator
Delta
Domain Admins
Enterprise Admins
The command completed successfully.

为了仅获取成员,我们将输出存储在变量中并进行操作。

示例

$members = net localgroup administrators
$members[6..($members.Length-3)]

输出

Administrator
Delta
Domain Admins
Enterprise Admins

要在远程计算机上运行此命令,

示例

Invoke-Command -ComputerName Test1-Win2k16 -ScriptBlock{
   $members = Invoke-Expression -command "Net Localgroup Administrators"
   $members[6..($members.Length-3)]
}

输出

Administrator
LABDOMAIN\Delta
LABDOMAIN\Domain Admins
LocalAdmin

同样,您可以使用任何本地组名来代替管理员组。


相关文章