adminCount> 0 인 AD 사용자를 찾는 PowerShell 스크립트


17

최근에 Active Directory의 "adminSDHolder"기능을 발견했습니다. 영향을받는 모든 사용자, 즉 사용자 계정을 덤프하는 스크립트를 식별하는 빠른 방법이 필요합니다.

답변:


18

이 powershell 스크립트를 사용하여 adminCount가 0보다 큰 사용자를 반환 할 수 있습니다. 이는 adminSDHolder 기능의 영향을받습니다. RSAT와 함께 제공되는 PowerShell 용 AD 모듈이 필요합니다.

import-module activedirectory

get-aduser -Filter {admincount -gt 0} -Properties adminCount -ResultSetSize $null      

4
get-aduser -filter {admincount -gt 0}
속성 admincount -ResultSetSize

또한 동일한 작업을 수행하기 위해 dsquery 필터를 만들 수 있습니다
tony roth

2
@tony-가능하지만 OP는 PowerShell 스크립트를 구체적으로 요청했습니다.
MDMarra


2

이것은 MDMarra의 탁월한 답변에 대한 변형입니다.

Import-Module ActiveDirectory
Get-ADUser -LDAPFilter "(admincount>0)" -Properties adminCount

이것은 -Filter 대신 -LDAPFilter 를 사용합니다 . LDAP 필터 구문은 여러 유형의 응용 프로그램간에 이식 가능하기 때문에 LDAP 필터 구문을 선호하는 사람들이 있습니다.

필터는 서버 측에서 실행되므로 필터와 LDAPFilter의 성능 특성은 비슷합니다. 큰 디렉토리를 쿼리 할 때는 필터링 Where-Object하기 전에 모든 개체를 다운로드하게하는 것이 아니라 항상 이와 같이 직접 필터링을 시도하십시오 . 이에 대해서는 TechNet 기사 Filter vs. Where-Object 에 자세히 설명되어 있습니다.


나는 자주 사용 -LDAPFilter하므로 그것을 언급하고 이점을 분명히 해 주셔서 감사합니다.
jscott

-2
## 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"
}
}

1
이것은 OP가 찾고 있지 않은 권한변경 합니다. 또한 이러한 개체에 대한 권한을 변경해도 많은 작업이 수행되지 않습니다. 다음에 AdminSDHolder 프로세스가 실행되면 권한이 재설정됩니다.
MDMarra

3
여기에 용들이 있습니다.
Tom O'Connor
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.