Réponses:
Vous pouvez utiliser ce script powershell pour renvoyer les utilisateurs qui ont un adminCount supérieur à 0, ce qui signifie qu'ils sont affectés par la fonction adminSDHolder. Vous aurez besoin du module AD pour PowerShell, fourni avec RSAT.
import-module activedirectory
get-aduser -Filter {admincount -gt 0} -Properties adminCount -ResultSetSize $null
Ceci est une variante de l'excellente réponse de MDMarra.
Import-Module ActiveDirectory
Get-ADUser -LDAPFilter "(admincount>0)" -Properties adminCount
Cela utilise -LDAPFilter au lieu de -Filter . Certaines personnes préfèrent utiliser la syntaxe du filtre LDAP car elle est portable sur de nombreux types d'applications différents.
Notez que Filter et LDAPFilter ont des caractéristiques de performances similaires puisque le filtre est exécuté côté serveur. Lorsque vous interrogez des répertoires volumineux, essayez toujours de filtrer directement comme ceci, plutôt que d'utiliser Where-Object
ce qui entraînerait le téléchargement de tous les objets avant le filtrage. Ceci est décrit en détail dans l'article TechNet Filter vs. Where-Object .
-LDAPFilter
donc merci de le mentionner et de clarifier ses avantages.
## 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"
}
}