Risposte:
È possibile utilizzare questo script PowerShell per restituire gli utenti con un adminCount maggiore di 0, il che significa che sono interessati dalla funzionalità adminSDHolder. Avrai bisogno del modulo AD per PowerShell installato, fornito con RSAT.
import-module activedirectory
get-aduser -Filter {admincount -gt 0} -Properties adminCount -ResultSetSize $null
Questa è una variante dell'ottima risposta di MDMarra.
Import-Module ActiveDirectory
Get-ADUser -LDAPFilter "(admincount>0)" -Properties adminCount
Questo utilizza -LDAPFilter invece di -Filter . Alcune persone preferiscono utilizzare la sintassi del filtro LDAP perché è portatile in molti diversi tipi di applicazioni.
Si noti che Filter e LDAPFilter hanno caratteristiche prestazionali simili poiché il filtro viene eseguito sul lato server. Quando si eseguono query su directory di grandi dimensioni, provare sempre a eseguire il filtro direttamente in questo modo, anziché utilizzare Where-Object
ciò che provocherebbe il download di tutti gli oggetti prima del filtro. Questo è descritto in dettaglio nell'articolo TechNet Filter vs. Where-Object .
-LDAPFilter
quindi grazie per averlo menzionato e chiarito i suoi benefici.
## 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"
}
}