जवाबों:
आप इस पावरस्क्रिप्ट स्क्रिप्ट का उपयोग उन उपयोगकर्ताओं को वापस करने के लिए कर सकते हैं, जिनके पास 0 से अधिक का एडमिन है, जिसका अर्थ है कि वे adminSDHolder फीचर से प्रभावित हैं। आपको स्थापित PowerShell के लिए AD मॉड्यूल की आवश्यकता होगी, जो 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
यह -Filter के बजाय -LDAPFilter का उपयोग करता है । कुछ लोग LDAP फ़िल्टर सिंटैक्स का उपयोग करना पसंद करते हैं क्योंकि यह कई विभिन्न प्रकार के अनुप्रयोगों में पोर्टेबल है।
ध्यान दें कि फ़िल्टर और 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"
}
}