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

Samba辅助DC部署GPO启动脚本至HR OU客户端失败求助

问题

已将Samba服务器配置为辅助域控制器,Active Directory服务器作为主域控制器,目标是向特定组织单元(OU=HR)内的Windows客户端部署启动脚本。

使用以下命令添加启动脚本:

samba-tool gpo manage scripts startup add {GPO_UID} script.ps1

该命令已生成清单文件,并将脚本复制至SYSVOL文件夹,但脚本未在客户端执行——脚本本应向C:\写入文件,但未生成新文件。

已执行的排查步骤:

  • 确认脚本存在于SYSVOL的正确路径中(并非Policies目录)
  • 确保GPO已链接至正确的组织单元(OU=HR)
  • 检查脚本无错误,且在客户端手动运行可正常工作
  • 已在客户端执行gpupdate命令以应用更新后的策略

补充说明:通过samba-tool添加脚本后,在Windows AD服务器的组策略管理编辑器中无法看到该启动脚本。

额外信息:

  • Samba版本:4.17.12-Debian
  • Windows客户端版本:最新Windows 11
  • 该脚本为PowerShell脚本,具备写入C:\的权限

恳请协助排查启动脚本未执行的原因,如需更多细节可提供。

排查建议
  1. 验证SYSVOL跨域同步状态
    由于Samba是辅域控制器,需确认SYSVOL中的脚本及配置文件已同步到主AD服务器。直接在主AD的SYSVOL对应GPO路径下检查script.ps1和脚本清单文件是否存在,若未同步,手动触发SYSVOL同步或检查Samba与主AD的复制配置。

  2. 检查GPO脚本配置的兼容性
    Samba的samba-tool添加PowerShell启动脚本时,可能未生成Windows GPO识别的标准配置。手动检查SYSVOL中该GPO的\Machine\Scripts\Startup目录:

    • 确认scripts.ini文件中存在PowerShell脚本条目,格式应为:
      [PowerShell Scripts]
      0CmdLine=script.ps1
      0Parameters=
      
    • 若缺少该配置,手动创建或修改scripts.ini确保条目正确。
  3. 查看客户端GPO应用日志
    在Windows 11客户端打开事件查看器,导航到Windows日志->系统,筛选来源为GroupPolicy的事件,检查是否有GPO应用失败提示或脚本执行的错误信息(如路径无法访问、权限不足)。

  4. 验证脚本执行上下文
    启动脚本以系统账户运行,和手动执行的用户上下文存在差异。在脚本开头添加日志输出(需先创建C:\temp目录),验证脚本是否被触发:

    "[$(Get-Date)] 脚本启动,当前用户:$env:USERNAME" | Out-File -FilePath "C:\temp\script_log.txt" -Append
    
  5. 检查GPO作用域与筛选器
    在主AD的组策略管理编辑器中,确认该GPO的安全筛选包含OU=HR内的计算机对象,无拒绝应用的配置;同时检查是否存在限制GPO应用的WMI筛选器。

  6. 测试GPO应用状态
    在客户端执行gpresult /r命令,查看该GPO是否出现在“已应用的组策略对象”列表中。若未出现,说明GPO链接或权限配置存在问题。

内容的提问来源于stack exchange,提问作者niaei

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.15 09:07:27