PowerShell脚本查找adminCount> 0的AD用户


17

我最近发现了Active Directory的“ adminSDHolder”功能。我需要一种快速的方法来识别所有会受到它影响的用户,即一个转储用户帐户的脚本。

Answers:


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} -Properties admincount -ResultSetSize $ null
jbsmith

您也可以创建dsquery过滤器来执行相同的操作
Tony Roth

2
@tony-可以,但是OP专门要求使用PowerShell脚本。
MDMarra 2011年


2

这是MDMarra出色回答的一个变体。

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

这种用途-LDAPFilter代替-Filter。有些人喜欢使用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 2013年

3
这是龙。
Tom O'Connor
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.