使用PowerShell从ComputerManagement获取完整的成员名称?

时间:2017-07-24 09:37:03

标签: powershell

我正在使用这些命令使用PowerShell获取Administrators组的成员:

$computer = [ADSI]"WinNT://$s,computer"
$group = $computer.PSBase.Children.Find('Administrators', 'Group') 
$Admin_Accounts = $group.PSBase.Invoke("members") | ForEach {
  $_.GetType().InvokeMember("FullName", 'GetProperty', $null, $_, $null)
}

然而,我得到的结果只是会员名称' NAME'而不是在UI中显示的全名,即“ADOmain / NAME'。

我怎样才能做到这一点?

2 个答案:

答案 0 :(得分:3)

不要打扰ADSI。请改用WMI:

$group = Get-WmiObject -Class Win32_Group -Filter "Name='Administrators'"
$group.GetRelated('Win32_UserAccount') | Select-Object -Expand Caption

答案 1 :(得分:0)

取决于您可以使用的Powershell版本。

(Get-LocalGroupMember -Name Administrators).Name

这将显示本地管理员组的所有成员:

domain-or-computername\username

在v5上测试