Jawaban:
Anda dapat menggunakan skrip powershell ini untuk mengembalikan pengguna yang memiliki adminCount lebih besar dari 0, yang berarti bahwa mereka dipengaruhi oleh fitur adminSDHolder. Anda akan membutuhkan Modul AD untuk PowerShell diinstal, yang dilengkapi dengan RSAT.
import-module activedirectory
get-aduser -Filter {admincount -gt 0} -Properties adminCount -ResultSetSize $null
Ini adalah varian dari jawaban yang sangat baik dari MDMarra.
Import-Module ActiveDirectory
Get-ADUser -LDAPFilter "(admincount>0)" -Properties adminCount
Ini menggunakan -LDAPFilter bukan -Filter . Beberapa orang lebih suka menggunakan sintaks filter LDAP karena ini portabel di berbagai jenis aplikasi.
Perhatikan bahwa Filter dan LDAPFilter memiliki karakteristik kinerja yang sama karena filter dijalankan di sisi server. Saat menanyakan direktori besar, selalu coba lakukan pemfilteran secara langsung seperti ini, daripada menggunakan Where-Object
yang akan menyebabkan semua objek diunduh sebelum difilter. Ini dijelaskan secara rinci pada artikel TechNet Filter vs Dimana-Obyek .
-LDAPFilter
jadi terima kasih untuk menyebutkannya dan mengklarifikasi manfaatnya.
## 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"
}
}