Respostas:
Você pode usar esse script do PowerShell para retornar os usuários que possuem um adminCount maior que 0, o que significa que eles são afetados pelo recurso adminSDHolder. Você precisará do Módulo AD para PowerShell instalado, que vem com o RSAT.
import-module activedirectory
get-aduser -Filter {admincount -gt 0} -Properties adminCount -ResultSetSize $null
Esta é uma variante da excelente resposta do MDMarra.
Import-Module ActiveDirectory
Get-ADUser -LDAPFilter "(admincount>0)" -Properties adminCount
Isso usa -LDAPFilter em vez de -Filter . Algumas pessoas preferem usar a sintaxe do filtro LDAP porque é portátil em muitos tipos diferentes de aplicativos.
Observe que o Filter e o LDAPFilter têm características de desempenho semelhantes, pois o filtro é executado no lado do servidor. Ao consultar diretórios grandes, sempre tente filtrar diretamente dessa maneira, em vez de usar o Where-Object
que faria com que todos os objetos fossem baixados antes da filtragem. Isso é descrito em detalhes no artigo TechNet Filter vs. Where-Object .
-LDAPFilter
muito obrigado por mencioná-lo e esclarecer seus benefícios.
## Script name = Set-IheritablePermissionOnAllUsers.ps1
##
## sets the "Allow inheritable permissions from parent to propagate to this
##object"check box
# Contains DN of users
#
#$users = Get-Content C:\C:\Navdeep_DoNotDelete\variables\users.txt
Get-ADgroup -LDAPFilter “(admincount=1)” | select name
$users = Get-ADuser -LDAPFilter “(admincount=1)”
##Get-QADUser -SizeLimit 0 | Select-Object Name,@{n=’IncludeInheritablePermissions’;e={!$_.DirectoryEntry.PSBase.ObjectSecurity.AreAccessRulesProtected}} | Where {!$_.IncludeInheritablePermissions}
ForEach($user in $users)
{
# Binding the users to DS
$ou = [ADSI]("LDAP://" + $user)
$sec = $ou.psbase.objectSecurity
if ($sec.get_AreAccessRulesProtected())
{
$isProtected = $false ## allows inheritance
$preserveInheritance = $true ## preserver inhreited rules
$sec.SetAccessRuleProtection($isProtected, $preserveInheritance)
$ou.psbase.commitchanges()
Write-Host "$user is now inherting permissions";
}
else
{
Write-Host "$User Inheritable Permission already set"
}
}