PowerShell远程获取本地用户成员资格

时间:2018-04-06 14:07:26

标签: powershell get-wmiobject remotecommand memberof

需要一些帮助。

我需要使用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

先谢谢, 干杯。

1 个答案:

答案 0 :(得分:0)

我使用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) }