无人值守执行创建团队等PowerShell脚本遇MS Graph权限及令牌问题
解决方案:无人值守运行PowerShell脚本创建带敏感标签的组和Teams
一、解决用户凭据连接时New-MgTeam的权限错误
- 问题根因:使用存储凭据的账号连接MgGraph时,未显式指定创建Teams所需的权限范围,导致令牌仅包含默认基础权限,缺少
Team.Create、Group.ReadWrite.All或Directory.ReadWrite.All核心权限。 - 修复操作:
- 修改
Connect-MgGraph命令,显式添加必要权限范围:Connect-MgGraph -Credential $storedCredential -Scopes "Team.Create", "Group.ReadWrite.All", "Directory.AccessAsUser.All", "AuditLog.Read.All" - 完成管理员权限同意:
以全局管理员身份登录Azure AD门户,确认该用户已被授予上述权限的管理员同意;若未授权,需通过Azure AD「企业应用」模块或New-MgPermissionGrant命令完成授权。 - 验证会话权限:
连接后执行Get-MgContext,查看Scopes字段确认包含所需的Teams创建权限。
- 修改
二、应用注册(App-only)方式报错说明
- 报错“App-only token is not supported”的核心原因:创建带敏感标签的组时,部分敏感标签配置依赖用户身份上下文(例如标签规则关联用户属性、需用户级别的验证逻辑),此时应用令牌无法满足要求,必须使用用户委托令牌。
- 若尝试继续使用应用权限模式,需检查:
- 敏感标签配置:确保标签未设置依赖用户上下文的规则;
- 应用权限配置:为应用注册添加
Group.ReadWrite.All应用权限并完成管理员同意,使用证书方式连接:Connect-MgGraph -ClientId "你的应用ID" -TenantId "你的租户ID" -CertificateThumbprint "证书指纹"
三、无人值守部署额外注意事项
- 确保存储凭据的账号已具备Teams管理员和合规管理员角色,且权限覆盖
Set-AutoSensitivityLabelPolicy所需的合规权限; - 在ServiceNow中运行脚本时,需确保执行环境可访问Microsoft 365服务端口,且凭据存储方式符合ServiceNow的安全规范;
- 本地模拟无人值守环境测试通过后,再部署到ServiceNow生产环境。
内容的提问来源于stack exchange,提问作者Steve-o-rama309
相关产品推荐
相关产品推荐

