【问题标题】:Getting AD Group Membership ADSI using PowerShell使用 PowerShell 获取 AD 组成员 ADSI
【发布时间】:2017-07-27 12:56:47
【问题描述】:

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

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

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

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

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

【问题讨论】:

  • [adsi]"LDAP://<dn>"[adsi]"LDAP://server/<dn>" 应该已经为您提供了包含其属性的 AD 对象。您是否出于特定原因使用 ADSI? ActiveDirectory 模块通常更方便。

标签: powershell adsi


【解决方案1】:

您已经拥有了两个部分,第一个部分是在组中查找用户,第二个部分是使用搜索器获取用户的属性。只需使用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
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-05-17
    • 1970-01-01
    • 2016-10-26
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多