You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用PowerShell在AD安全选项卡中将组添加到另一组?

解决方法:用PowerShell配置AD组的ACL权限

要在AD组的安全选项卡中添加其他组的权限,**确实需要通过ACL(访问控制列表)**实现——AD对象的权限体系完全基于Windows ACL模型。以下是针对你的需求的修正方案:

原代码问题分析

你提供的代码存在几个关键语法/逻辑错误:

  • 模块导入与变量定义连写,导致语法失效:import-module ActiveDirectory$path 需拆分为两行
  • AD路径中组名被换行拆分:CN=Kat- VPN3 应修正为CN=Kat-VPN3
  • ActiveDirectoryAccessRule构造函数参数不全:缺少继承规则、传播规则等必要参数,会导致权限应用异常
  • 域名占位符未替换:DOMAIN\Kat-VPN1 需替换为实际域名(比如你的环境是tm\Kat-VPN1)

修正后的完整代码

cls
# 导入AD模块
Import-Module ActiveDirectory

# 目标组Kat-VPN3的AD路径,确保组名和OU路径无换行
$path = "AD:\CN=Kat-VPN3,OU=Groups,OU=LOC_1,OU=OFFICE,DC=tm,DC=pl"

# 获取目标组的当前ACL
$acl = Get-Acl -Path $path

# 定义新的访问控制条目(ACE):给Kat-VPN1组分配FullControl权限
# 参数说明:身份标识、权限、继承类型、传播类型、访问控制类型
$ace = New-Object System.DirectoryServices.ActiveDirectoryAccessRule(
    "tm\Kat-VPN1",  # 替换为实际域名+组名
    "FullControl",  # 权限类型,可按需调整为Read、Write等
    "None",         # 继承规则:None表示权限仅应用于当前组对象
    "None",         # 传播规则:None表示不向下传播
    "Allow"         # 允许访问
)

# 将ACE添加到ACL中
$acl.AddAccessRule($ace)

# 应用修改后的ACL到目标组
Set-Acl -Path $path -AclObject $acl

关键说明

  • 权限调整:如果不需要FullControl,可替换为具体权限,比如Read、Write、CreateChild等,具体可参考ActiveDirectoryRights枚举值
  • 继承与传播:若需让权限继承到子对象(比如组的成员),可将"None"改为"Descendents"等合适的继承类型
  • 验证权限:执行代码后,可通过ADUC(Active Directory用户和计算机)打开Kat-VPN3的安全选项卡,确认Kat-VPN1组已被添加并拥有对应权限

内容的提问来源于stack exchange,提问作者Tomasz Młynek

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.05 15:02:40