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


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

在下面的示例中,我们需要检索本地Administrators组成员:

示例

Get-LocalGroupMember -Group "Administrators"

输出

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

Name属性显示本地管理员组的成员。要从远程服务器检索本地Administrators组成员,我们需要使用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

类似地,你可以使用任何本地组名代替Administrators组。

更新于:2023年11月1日

46K+ 浏览量

开启你的职业生涯

通过完成课程获得认证

开始学习
广告
© . All rights reserved.