Câu trả lời:
Bạn có thể sử dụng tập lệnh powershell này để trả về người dùng có adminCount lớn hơn 0, có nghĩa là họ bị ảnh hưởng bởi tính năng adminSDHolder. Bạn sẽ cần Mô-đun AD cho PowerShell được cài đặt, đi kèm với RSAT.
import-module activedirectory
get-aduser -Filter {admincount -gt 0} -Properties adminCount -ResultSetSize $null
([adsisearcher]"(AdminCount=1)").findall()
Đây là một biến thể về câu trả lời xuất sắc của MDMarra.
Import-Module ActiveDirectory
Get-ADUser -LDAPFilter "(admincount>0)" -Properties adminCount
Điều này sử dụng -LDAPFilter thay vì -Filter . Một số người thích sử dụng cú pháp bộ lọc LDAP vì nó có thể di động trên nhiều loại ứng dụng khác nhau.
Lưu ý rằng Bộ lọc và LDAPFilter có các đặc tính hiệu suất tương tự do bộ lọc được thực thi ở phía máy chủ. Khi truy vấn các thư mục lớn, luôn cố gắng thực hiện lọc trực tiếp như thế này, thay vì sử dụng Where-Object
sẽ khiến tất cả các đối tượng được tải xuống trước khi lọc. Điều này được mô tả chi tiết trên Bộ lọc bài viết TechNet so với Where-Object .
-LDAPFilter
vì vậy cảm ơn bạn đã đề cập đến nó và làm rõ lợi ích của nó.
## 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"
}
}