I say Reinstate Monica Asked: 2017-01-28 12:45:18 +0800 CST2017-01-28 12:45:18 +0800 CST 2017-01-28 12:45:18 +0800 CST 获取本地组的每个成员的 SID 772 在运行 Windows 7 的 Active Directory 域成员上,我有一个本地组。它有用户和其他组作为成员: 如何获取此本地组的每个成员的 SID? 我知道 Sysinternals 实用程序PSGetSid但它似乎无法枚举组成员。 active-directory groups sid security-groups 1 个回答 Voted Best Answer Ryan Bolger 2017-01-28T16:40:18+08:002017-01-28T16:40:18+08:00 这是您应该能够使用的 Powershell 函数。我只在 Windows 10 上对其进行了测试,但我认为它没有使用 Windows 7 中不可用的任何东西。 Function Get-LocalGroupMembers { [Cmdletbinding()] Param( [Parameter(Mandatory=$true)] [string]$GroupName ) [adsi]$adsiGroup = "WinNT://$($env:COMPUTERNAME)/$GroupName,group" $adsiGroup.Invoke('Members') | %{ $username = $_.GetType().InvokeMember('Name','GetProperty',$null,$_,$null) $path = $_.GetType().InvokeMember('AdsPath','GetProperty',$null,$_,$null).Replace('WinNT://','') $class = $_.GetType().InvokeMember('Class','GetProperty',$null,$_,$null) $userObj = New-Object System.Security.Principal.NTAccount($username) $sid = $userObj.Translate([System.Security.Principal.SecurityIdentifier]) [pscustomobject]@{ Username = $username Type = $class SID = $sid Path = $path } } }
这是您应该能够使用的 Powershell 函数。我只在 Windows 10 上对其进行了测试,但我认为它没有使用 Windows 7 中不可用的任何东西。