要使用PowerShell获取本地Administrators组成员,您需要使用GetLocalGroupMember命令。此命令在PowerShell版本5.1及更高版本中可用,并且其模块为Microsoft.PowerShell.LocalAccounts。此模块在32位PowerShell版本中不可用,但在64位系统上不可用。
在下面的示例中,我们需要检索Local Administrators组成员,
Get-LocalGroupMember -Group "Administrators"
输出结果
ObjectClass Name PrincipalSource ----------- ---- --------------- User LABDOMAIN\delta Group LABDOMAIN\Domain Admins User TEST1-WIN2K12\Administrator User TEST1-WIN2K12\LocalAdmin
名称属性显示本地管理员组的成员。要从远程服务器检索本地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组。