如何根据组扩展属性获取用户所属的所有组

时间:2020-08-21 21:51:26

标签: powershell active-directory ldap

我正在尝试获取域用户所属的所有组,但仅过滤具有给定扩展属性的组。 我设置了所有域组的 extensionattribute12 ,以更好地过滤某些查询(即基础架构-安全性-电子学习)。我的查询应仅获取具有以下条件的用户组

extensionattribute12 =安全性

(例如)。 我使用类似的东西:

get-aduser -filter  -Properties memberof | select name, @{ l="GroupMembership"; e={$_.memberof  -join ";"  } }

,我得到了所有用户组。如何按组扩展属性过滤?

3 个答案:

答案 0 :(得分:2)

您可以使用逆关系(组对象上的public void conectUrl() throws IOException, InterruptedException { product= new ArrayList<>(); String url = "https://www.continente.pt/stores/continente/pt-pt/public/pages/category.aspx?cat=campanhas#/?page=1&sf=Revelance"; page = Jsoup.connect(url).userAgent("JSoup scraper").get(); //get actual page Elements paginaAtu=page.getElementsByClass("_actualPage"); paginaAtual=Integer.parseInt(paginaAtu.attr("value")); //get Total Pages Elements nextPage=page.getElementsByClass("_actualTotalPages"); numPaginas =Integer.parseInt(nextPage.attr("value")); for(paginaAtual=1;paginaAtual<numPaginas;paginaAtual++) { getProductInfo("https://www.continente.pt/stores/continente/pt-pt/public/pages/category.aspx?cat=campanhas#/?page="+paginaAtual+"&sf=Revelance"); } } )来查询用户所属的所有组,每个用户只需查询1个。这里使用LDAP过滤器:

{% if tags %}
{% for t in tags %}
{% if t.job_post_one != "hide" %}
"Store the value of t.job_post_one here "`

如果您必须处理大量用户或组成员身份,则可能会发现更快地检索所有满足member标准的所有组,并使用该列表过滤$groupLabel = "Security" Get-ADUser -Filter * |ForEach-Object { $groups = Get-ADGroup -LDAPFilter "(&(extensionattribute12=$groupLabel)(member=$($_.DistinguishedName)))" [pscustomobject]@{ User = $_.SamAccountName GroupMembership = $groups.DistinguishedName -join ';' } } 属性对用户:

extensionAttribute12

答案 1 :(得分:1)

通过N + 1个查询进行

$groups = @( Get-ADGroup -Filter '(extensionattribute12 -eq "security")' )
$users = @( $groups | 
    ForEach-Object { Get-ADGroupMember -Identity $_ -Recursive } | 
    Sort-Object -Unique )

$users # All users of all groups that have EA12 = security

答案 2 :(得分:0)

Get-ADUser -filter {...} -Properties memberof | select name, @{ l="GroupMembership"; e={( $_.memberof | Get-ADGroup |?{ $_.extensionattribute12 -eq 'security' }) -join ";" }} |?{ $_.GroupMembership }