使用 PowerShell 获取 AD 组成员资格 ADSI

Getting AD Group Membership ADSI using PowerShell

我目前有 ADSI 代码来获取用户所属的组:

$searcher = [adsisearcher]"(samaccountname=$env:USERNAME)"
$searcher.FindOne().Properties.memberof
$adgroups = $User -Replace '^cn=([^,]+).+$', ''

但是,我希望能够选择一个组并查看其成员。我目前有这段代码来获取他们的 DN 和路径。

$Group = [ADSI]"LDAP://cn=Test,cn=Test,dc=some,dc=domain,dc=net"
$Members = $Group.Member | ForEach-Object {[ADSI]"LDAP://$_"}

如果可能的话,我想获得其他属性(姓名等)。任何帮助将不胜感激,因为我已经尝试了一段时间。

你已经有了两个部分,第一个部分是在组中查找用户,第二个部分是使用搜索器获取用户的属性。只需使用 distinguishedname 作为 [adsisearcher] 过滤器。

$Group = [ADSI]"LDAP://cn=Test,cn=Test,dc=some,dc=domain,dc=net"
$Group.Member | ForEach-Object {
    $Searcher = [adsisearcher]"(distinguishedname=$_)"
    $searcher.FindOne().Properties
}