用途:将 Salesforce 自带的 ContactCenterSupervisor 标准权限集分配给现有主管用户,使经典 Omni-Channel Supervisor UI(Command Center)在 service-omni-supervisor-config-deploy 绑定前具备所需权限。
主要能力:通过 PermissionSetAssignment 创建分配;先检测后写入实现幂等,将 DUPLICATE_VALUE 视为已满足;支持一次分配多个权限集(每个主管获得全部所列权限集,即交叉乘积);仅创建,不删除或替换现有分配,也不创建或编辑权限集本身。
用法:bash scripts/verify-and-assign.sh <org-alias> [count=1] [permission-set-names-csv=ContactCenterSupervisor]。org-alias 必填;count 默认 1,范围 1..5,须与主管用户数一致;permission-set-names-csv 默认 ContactCenterSupervisor,逗号分隔。脚本流程:计算 safe_to_write 与组织后缀;校验权限集名称格式;解析 supervisor{1..N}.<suffix>@example.com 且 IsActive=true 的用户;解析权限集;查询已有分配并计算缺失对;逐个 POST 缺失分配;重新查询确认并输出报告。
前置条件:目标组织已通过 sf CLI 认证,具备 Service Cloud 许可,sf CLI ≥ 2.139.6;主管用户存在且活跃;执行用户拥有 PermissionsAssignPermissionSets;生产组织受 safe_to_write 保护,会直接阻止。
输出:单个 JSON 对象,status 为 assigned、reused、partial 或 blocked,含 permission_sets、org_suffix、requested_count、expected_assignment_count、前后快照、assigned_count、reused_count、manual_actions 与 blocking_issue。
限制:不负责配置主管权限集所需的用户许可;仅分配单个 PermissionSet,不涉及 PermissionSetGroup;仅创建,不删除分配。自定义权限集重新声明这些权限会报 FIELD_INTEGRITY_EXCEPTION。