উত্তর:
আপনি এই পাওয়ারশেল স্ক্রিপ্টটি 0 টিরও বেশি অ্যাডমিনকাউন্ট ব্যবহারকারীদের ফিরিয়ে দিতে ব্যবহার করতে পারেন যার অর্থ তারা অ্যাডমিনসডিহোল্ডার বৈশিষ্ট্য দ্বারা প্রভাবিত হয়েছেন। পাওয়ারশেলের ইনস্টল করার জন্য আপনার অ্যাডি মডিউলটি লাগবে, যা আরএসএটি সহ আসে।
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 । কিছু লোক এলডিএপি ফিল্টার সিনট্যাক্স ব্যবহার করতে পছন্দ করেন কারণ এটি বিভিন্ন ধরণের অ্যাপ্লিকেশনগুলিতে পোর্টেবল।
নোট করুন যে ফিল্টার এবং LDAPFilter এর সাথে পারফরম্যান্সের বৈশিষ্ট্য একই রকম রয়েছে যেহেতু ফিল্টারটি সার্ভারের পাশ দিয়ে কার্যকর করা হয়। বড় ডিরেক্টরিগুলি জিজ্ঞাসা করার সময়, সর্বদা এই জাতীয় ফিল্টারিং করার চেষ্টা করুন, ব্যবহার না করে Where-Object
যা ফিল্টার করার আগে সমস্ত বস্তু ডাউনলোড হয়ে যায়। এটি টেকনেট নিবন্ধ ফিল্টার বনাম কোথাও-অবজেক্টে বিশদে বর্ণনা করা হয়েছে ।
-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"
}
}