Hello,
Yes, it is possible. You can use the below script. in the script, the $groupDNString
variable references a Directory object picker parameter used to select the group to check membership rules against.
$groupDNString = "%param-Group%"
$groupDN = New-Object "Softerra.Adaxes.LDAP.DN" $groupDNString
try
{
$groupCriteria = New-AdmCriteria -Type "group" -Expression {membershipType -eq "rule-based"}
$Context.DirectorySearcher.AddCriteria($groupCriteria)
$searchResultIterator = $Context.DirectorySearcher.ExecuteSearch()
while ($Context.MoveNext($searchResultIterator))
{
$searchResult = $searchResultIterator.Current
$group = $Context.BindToObjectBySearchResult($searchResult)
foreach ($rule in $group.MembershipRules)
{
if ($rule.Type -ne "ADM_BUSINESSUNITMEMBERSHIPTYPE_GROUP")
{
continue
}
$ruleGroupDNString = $rule.Group.Get("distinguishedName")
$ruleGroupDN = New-Object "Softerra.Adaxes.LDAP.DN" $ruleGroupDNString
if ($groupDN -eq $ruleGroupDN)
{
$Context.Items.Add($searchResult)
break
}
}
}
}
finally
{
if ($searchResultIterator)
{
$searchResultIterator.Dispose()
}
}