如何查询指定Active Directory组拥有的委派任务
查询指定Active Directory组的委派任务方法
一、PowerShell命令行查询
这是批量或精准查询的首选方式:
- 查询该组拥有的核心委派权限(如重置密码、创建用户等):
# 替换为目标组的名称或完整DN $targetGroup = "目标组名称" $group = Get-ADGroup $targetGroup -Properties distinguishedName # 遍历域内OU和域对象,筛选该组的委派权限条目 Get-ADObject -Filter {objectClass -eq "organizationalUnit" -or objectClass -eq "domain"} -Properties nTSecurityDescriptor | ForEach-Object { foreach ($ace in $_.nTSecurityDescriptor.Access) { if ($ace.IdentityReference.Value -eq $group.distinguishedName -and $ace.ActiveDirectoryRights -match "WriteProperty|GenericAll|GenericWrite|ExtendedRight") { [PSCustomObject]@{ 被委派对象 = $_.Name 对象完整路径 = $_.distinguishedName 权限类型 = $ace.ActiveDirectoryRights 权限方向 = $ace.AccessControlType } } } } | Format-Table -AutoSize
- 查询该组被委派的GPO权限:
$targetGroup = "目标组名称" Get-GPO -All | ForEach-Object { $currentGPO = $_ Get-GPPermission -Guid $currentGPO.Id -All | Where-Object { $_.Trustee.Name -eq $targetGroup } | ForEach-Object { [PSCustomObject]@{ GPO名称 = $currentGPO.DisplayName 委派权限 = $_.Permission 主体类型 = $_.Trustee.Type } } }
二、图形界面操作(ADUC)
- 打开Active Directory用户和计算机,启用高级功能(顶部菜单栏→查看→高级功能)
- 定位到要检查的OU或根域对象,右键→属性→安全选项卡→点击高级按钮
- 在权限列表中,筛选出目标组的条目,查看权限列标注的委派内容(如“重置密码”“创建子对象”等)
- 若要查看GPO委派,打开组策略管理,找到目标GPO,右键→委派,直接查看该组的权限配置
三、LDAP精准查询
适用于第三方工具或自定义脚本,通过权限匹配规则筛选:
(&(objectClass=organizationalUnit)(nTSecurityDescriptor:1.2.840.113556.1.4.803:=目标组的SID))
注:1.2.840.113556.1.4.803是LDAP权限匹配的OID,需替换为目标组的SID(可通过
Get-ADGroup $targetGroup -Properties objectSid获取)
内容的提问来源于stack exchange,提问作者Nathaniel Bador
相关产品推荐
相关产品推荐

