配置Azure自托管构建代理时遇ACL规范格式问题
解决Azure DevOps自托管代理配置中的ACL规范错误
修复目录ACL规范问题
打开管理员权限的PowerShell,执行以下命令重置目标目录的ACL为默认规范:# 重置服务账户AppData下Microsoft目录的ACL icacls "C:\Users\<你的服务账户>\AppData\Local\Microsoft" /reset /T /C /Q # 重置代理安装目录的ACL icacls "<代理实际安装路径>" /reset /T /C /Q参数说明:
/reset恢复默认ACL,/T递归处理子目录,/C忽略错误继续执行,/Q静默输出。清理旧代理残留
由于是替换同名代理,需彻底清理旧代理的服务和文件:# 停止旧代理服务(替换成实际服务名) net stop "vstsagent.<组织名>.<代理池名>.<代理名>" # 删除旧代理服务 sc delete "vstsagent.<组织名>.<代理池名>.<代理名>"手动删除旧代理的安装目录,确保无残留文件。
重新以管理员身份运行配置脚本
右键PowerShell选择「以管理员身份运行」,执行Azure DevOps生成的配置脚本,设置服务账户时,确保该账户拥有本地管理员权限,或至少对代理目录、服务账户AppData目录有完全控制权限。手动设置服务账户权限(备选方案)
若上述步骤无效,手动为服务账户配置权限:- 右键代理安装目录 → 属性 → 安全 → 编辑 → 添加服务账户
- 赋予该账户「完全控制」权限,应用范围选择「该目录、子目录和文件」
- 对
C:\Users\<服务账户>\AppData\Local\Microsoft目录重复上述权限配置 - 重新运行代理配置脚本
内容的提问来源于stack exchange,提问作者Chris Marshall
相关产品推荐
相关产品推荐

