Respuestas:
Puede usar este script de PowerShell para devolver a los usuarios que tienen un adminCount mayor que 0, lo que significa que están afectados por la función adminSDHolder. Necesitará el módulo AD para PowerShell instalado, que viene con RSAT.
import-module activedirectory
get-aduser -Filter {admincount -gt 0} -Properties adminCount -ResultSetSize $null
Esta es una variante de la excelente respuesta de MDMarra.
Import-Module ActiveDirectory
Get-ADUser -LDAPFilter "(admincount>0)" -Properties adminCount
Esto usa -LDAPFilter en lugar de -Filter . Algunas personas prefieren usar la sintaxis de filtro LDAP porque es portátil en muchos tipos diferentes de aplicaciones.
Tenga en cuenta que Filter y LDAPFilter tienen características de rendimiento similares ya que el filtro se ejecuta en el lado del servidor. Al consultar directorios grandes, siempre intente hacer el filtrado directamente de esta manera, en lugar de usar Where-Object
lo que provocaría que todos los objetos se descarguen antes del filtrado. Esto se describe en detalle en el artículo de TechNet Filter vs. Where-Object .
-LDAPFilter
así que gracias por mencionarlo y aclarar sus beneficios.
## 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"
}
}