Відповіді:
Ви можете використовувати цей скрипт повноважень, щоб повернути користувачів, які мають адміністративний рахунок більше 0, це означає, що на них впливає функція adminSDHolder. Вам знадобиться встановлений модуль AD для PowerShell, який постачається з RSAT.
import-module activedirectory
get-aduser -Filter {admincount -gt 0} -Properties adminCount -ResultSetSize $null
Це варіант на відмінну відповідь MDMarra.
Import-Module ActiveDirectory
Get-ADUser -LDAPFilter "(admincount>0)" -Properties adminCount
Для цього використовується -LDAPFilter замість -Filter . Деякі люди вважають за краще використовувати синтаксис фільтра LDAP, оскільки він є портативним для багатьох різних типів програм.
Зауважте, що Filter і LDAPFilter мають схожі характеристики продуктивності, оскільки фільтр виконується на стороні сервера. Коли ви запитуєте великі каталоги, завжди намагайтеся робити фільтрацію безпосередньо так, а не використовувати, Where-Object
що призведе до завантаження всіх об'єктів перед фільтруванням. Це детально описано в статті TechNet Фільтр проти Де-Об'єкт .
-LDAPFilter
тому дякую, що згадуєте про це та уточнюєте його переваги.
## 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"
}
}