无原PAT及Azure DevOps权限时如何移除本地自托管代理服务
Azure DevOps自托管代理无有效PAT本地移除方案
仅需要清理本地机器上的代理服务、无需同步处理Azure DevOps侧代理记录的场景下,不需要提供PAT即可完成移除。直接删除C:\agent文件夹可以达到目的,但必须先停掉代理注册的系统服务、结束相关进程,否则会触发文件占用报错,具体操作步骤如下:
操作步骤
- 卸载代理注册的系统服务
- 以管理员权限启动CMD或PowerShell
- 执行命令查询代理对应的服务名:
sc query | findstr vstsagent,Azure DevOps自托管代理默认服务名格式为vstsagent.<组织标识>.<代理池标识>.<代理实例名> - 执行停止服务命令:
sc stop <查询到的完整服务名>,等待提示服务已停止 - 执行服务删除命令:
sc delete <查询到的完整服务名>,看到DeleteService SUCCESS提示即完成
如果当初配置代理时选择了交互模式运行、没有安装为系统服务,跳过这一步,直接在任务管理器结束所有代理相关进程即可
- 清理残留运行进程
打开任务管理器的「详细信息」 tab,确认不存在Agent.Listener.exe、agent.worker.exe、pipelinesagent.exe这类代理相关进程,存在的话右键选择「结束任务」 - 删除代理文件目录
直接删除代理的解压目录(默认路径为C:\agent)即可
注意事项
- 按上述步骤操作后,本地不会残留任何代理相关的后台服务或运行进程,不会占用系统资源,仅可能在系统事件日志中留存历史服务运行记录,不影响系统正常使用
- 本地操作不会同步删除Azure DevOps侧的代理条目,该条目会一直显示为离线状态,对本地无任何影响,后续如果重新获得DevOps组织权限,在代理池页面手动删除该离线条目即可
- 后续如果需要在同一台机器重新部署新的自托管代理,只要旧服务已经卸载,不会和之前的代理残留产生任何冲突
内容的提问来源于stack exchange,提问作者variable
相关产品推荐
相关产品推荐

