解决:900秒限制窗口内SAM数据库远程调用被拒绝问题
问题描述
我通过ASP.NET Core 6.0 Web API运行PowerShell脚本,从Azure获取共享邮箱相关信息。在服务器应用若干策略后,该流程停止运行,Windows Server事件查看器中出现EventID 16969错误,提示SAM数据库的远程调用被限流:
Remote calls to the SAM database have been denied in the past 900 seconds throttling window.
- Provider: Microsoft-Windows-Directory-Services-SAM
- EventID: 16969
- Computer: SACCP122P.grupoins.local
- UserID: S-1-5-18
- Throttle window: 900
- Suppressed Message Count: 1
该API在应用策略前可正常运行,需通过添加服务器策略例外解决此问题。
解决方案:添加SAM远程调用限流例外
1. 打开策略编辑器
- 本地服务器:运行
gpedit.msc打开本地组策略编辑器 - 域环境:打开组策略管理控制台(GPMC),编辑目标服务器对应的组策略对象
2. 定位SAM限流策略
导航至策略路径:计算机配置 > 管理模板 > 系统 > 安全账户管理器
3. 配置例外账户
- 找到**"对远程SAM调用进行限流"**策略,双击打开
- 选择「已启用」,在「例外的用户和组」字段中,添加Web API运行所使用的服务账户(如自定义服务账户、Network Service等)
- 若需调整限流参数,可修改「限流窗口(秒)」或「每个窗口的最大调用次数」,优先添加例外账户解决问题
4. 生效策略
- 执行命令
gpupdate /force强制刷新组策略 - 重启ASP.NET Core Web API的宿主进程(IIS应用池或自托管服务),必要时重启服务器
验证
重新触发Web API的邮箱信息获取流程,检查事件查看器确认不再生成EventID 16969错误,同时验证共享邮箱信息可正常返回。
内容的提问来源于stack exchange,提问作者Melvin Masis
相关产品推荐
相关产品推荐

