Azure DevOps Server域迁移:无新域账户的离职人员身份处理咨询
处理Azure DevOps Server 2019.0.1跨域迁移中旧域失效用户身份的方案
核心原则
保留历史记录完整性,避免权限断层,同时清理无效身份关联。
具体操作步骤
1. 转换为Azure DevOps本地服务账户(推荐)
- 对于旧域中已无活动账户的用户,可将其身份转换为Azure DevOps的本地服务账户(非域账户)。这样能保留该用户的所有历史提交、工作项记录、权限关联,同时规避后续域信任问题。
- 操作方式:
- 在Azure DevOps Server管理控制台中找到对应用户,进入身份管理界面。
- 移除该用户的旧域账户关联,创建本地账户(用户名可沿用旧域用户名,后缀标记
_local做区分)。 - 重新映射该用户的所有历史记录和权限到新本地账户,确保提交记录、工作项归属不丢失。
2. 权限移交与身份归档
- 若该用户的工作需其他团队成员承接:
- 批量转移该用户拥有的所有项目权限、组权限至指定在职用户或团队组。
- 归档用户身份:在Azure DevOps中将其标记为“已禁用”,备注中注明离职/身故信息,便于后续审计。
- 注意:标记禁用后,历史记录仍会保留,不影响项目历史追溯。
3. 清理冗余身份关联
- 扫描所有项目的权限配置、工作项分配、代码提交记录,确保无遗漏的旧域用户关联。
- 使用Azure DevOps Server命令行工具
tfssecurity执行批量查询和清理:- 查询旧域用户:
tfssecurity /imx "OLD_DOMAIN\username" - 移除无效身份关联:
tfssecurity /removeidentity "OLD_DOMAIN\username"
(执行前务必备份数据库,避免误操作)
- 查询旧域用户:
4. 数据库级身份映射(进阶操作)
- 若界面操作无法覆盖所有场景,可直接在Azure DevOps配置数据库(
Tfs_Configuration)中调整身份映射表:- 找到
tbl_Identity和tbl_IdentityMap表,将旧域用户的SID映射到新本地账户SID。 - 此操作需严格遵循数据库备份流程,仅建议在熟悉Azure DevOps数据库结构的前提下执行。
- 找到
注意事项
- 所有操作前必须完整备份Azure DevOps Server的所有数据库,包括配置库和项目集合库。
- 操作后需验证历史记录(代码提交、工作项、权限)是否正常访问,确保无数据丢失或权限异常。
- 若涉及审计合规要求,需保留旧域用户的身份归档记录,不可直接删除。
内容的提问来源于stack exchange,提问作者gregsohl
相关产品推荐
相关产品推荐

