2

在这里需要一些帮助。

我需要使用 PowerShell 脚本获取远程计算机的本地用户列表以及他们所属的组。

我试过了:

Get-LocalUser
Get-LocalGroup
Get-LocalGroupMember

还:

gwmi win32_UserAccount
gwmi win32_group 

但它非常慢,并且提取的信息超过了消耗时间的要求。

我希望输出格式如下:

User     Memberof
------   --------------------
abc12    Administrators
efg23    remote desktop users
hij45    Administrators,Backup Operators,users
xyz56    remote desktop users,Backup Operators

在此先感谢,干杯。

4

1 回答 1

1

我使用ADSI,它非常快。

$RemoteComputerName = 'RemoteComputer'
$LocalGroup = 'Remote Desktop Users'

$ADSI = [ADSI]("WinNT://$RemoteComputerName,Computer")
$Group = $ADSI.PSBase.Children.Find($LocalGroup,'Group')
$Group.PSBase.Invoke('Members').Foreach{ $_.GetType().InvokeMember('Name','GetProperty',$null,$_,$null) }
于 2018-04-06T19:38:59.950 回答