委派控制用户组运行AD密码重置脚本访问DC被拒权限咨询
你的报错核心是非管理员用户没有通过PowerShell远程(WinRM)访问域控制器的权限,和你已经配置的AD OU权限、共享文件夹权限无关,需要补充以下配置:
1. 配置WinRM远程访问权限
在域控制器上以管理员身份打开PowerShell,执行以下命令给目标用户组开放远程PowerShell访问权限:
# 打开PowerShell会话配置的安全设置图形界面 Set-PSSessionConfiguration -Name Microsoft.PowerShell -ShowSecurityDescriptorUI
在弹出的权限窗口中,添加你要委派的用户组,勾选「允许 - 执行」权限,确认保存后重启WinRM服务生效:
Restart-Service WinRM
如果需要避免图形操作,也可以直接通过SDDL命令行配置对应权限。
2. 配置远程登录权限
默认普通用户没有权限登录域控制器,需要修改域控制器的安全策略:
打开「本地安全策略」(或对应应用到域控制器的组策略),依次进入:
计算机配置 > Windows 设置 > 安全设置 > 本地策略 > 用户权限分配
找到对应策略项调整:
- 找到「允许通过远程服务登录」,添加你的目标用户组
- 检查「拒绝本地登录」、「拒绝通过远程桌面服务登录」策略,确认没有包含你的目标用户组
策略修改完成后执行gpupdate /force生效。
推荐优化方案(更安全)
直接给普通用户开放域控制器的完整PowerShell远程权限风险较高,推荐配置JEA(最小权限管理)受限端点,限制用户只能执行密码重置相关的指定命令,无法操作域控制器的其他资源,不需要给用户开放域控制器登录权限,安全性提升明显。
脚本优化建议
你当前的脚本存在两个可调整的点:
- 避免双跳问题:你现在从客户端调用DC远程会话还要访问DC的共享文件夹,容易触发Kerberos双跳验证失败,可以把
passwordreset.ps1的内容直接内嵌到Test.ps1的Invoke-Command脚本块中,不需要额外存放在共享目录。 - 账号参数化:当前
Set-ADAccountPassword的Identity固定为test,建议改为可传入的参数,适配不同账号的重置需求。
内容的提问来源于stack exchange,提问作者Ice Drake
相关产品推荐
相关产品推荐

