BizTalk 2020 DevOps发布管道报错:账户名与安全标识符无映射
BizTalk 2020 MSI部署SID映射错误排查方案
错误提示:
"No mapping was made between account names and security identifiers."
该错误为Windows身份解析类错误,本质是部署过程中引用的用户/用户组安全主体,无法在目标服务器环境中映射到对应安全标识符(SID),可按以下步骤排查:
排查步骤
- 校验安全主体有效性:确认MSI包中打包的BizTalk运行时账户、主机实例账户、BizTalk管理员/操作员组等所有安全主体,在目标部署服务器的本地用户组或所属域中真实存在,未被删除、禁用,跨域部署时需确认域信任关系正常,账户名拼写、域名前缀无错误。
- 校验部署执行账户权限:确认发布管道用于执行MSI部署的服务账户,拥有目标服务器本地管理员权限,同时具备本地SAM数据库或域Active Directory的查询权限,可正常拉取安全主体的SID信息。
- 校验MSI打包配置:打开BizTalk项目的部署属性页,确认安全、宿主相关配置未硬编码开发环境的本地账户/组,这类仅在开发环境存在的主体在测试/生产环境无法解析。重新导出MSI时可选择不包含用户和组权限选项,部署到目标环境后手动配置权限,快速验证是否为打包配置问题。
- 手动验证SID映射:在目标服务器执行PowerShell命令验证指定账户的解析状态:
如无结果返回,说明该账户确实无法解析,需替换为目标环境存在的有效账户。Get-WmiObject Win32_UserAccount -Filter "Name='待验证的账户名'" - 清理环境残留配置:如目标服务器此前部署过旧版本的同应用,先完整卸载旧应用,清理BizTalk管理数据库中残留的权限配置后再重新部署,避免旧配置引用已失效的安全主体。
修复方案
- 临时规避:MSI导出时排除用户组权限配置,部署完成后手动给目标环境对应账户分配应用的访问、执行权限。
- 永久修复:使用域全局安全组配置BizTalk应用权限,打包时直接引用通用域组,确保所有部署环境均可正常解析该组SID,无需为不同环境单独调整账户配置。
内容的提问来源于stack exchange,提问作者Josh Mendoza
相关产品推荐
相关产品推荐

