PowerShell脚本获取PowerBI多工作区使用数据遇AF10001权限错误求助
解决PowerShell调用Power BI API的AF10001权限错误
错误原因
AF10001错误表示请求令牌中缺少API所需的权限,通常是应用权限配置不完整或认证逻辑有误导致。
具体解决步骤
检查Azure AD应用注册的权限
- 登录Azure门户,找到用于认证的应用注册。
- 进入「API权限」页面,确认已添加Power BI服务的必要权限:
- 若要读取所有工作区和使用数据,需添加
Workspace.Read.All、Usage.Read.All(涉及报表操作的话补充Report.Read.All)。
- 若要读取所有工作区和使用数据,需添加
- 点击「授予管理员同意」,确保权限生效(大部分Power BI权限需要管理员同意才能被服务主体使用)。
验证脚本中的认证范围
查看脚本中获取访问令牌的代码,确认请求的scope参数包含所需权限,示例正确写法:$scope = "https://analysis.windows.net/powerbi/api/.default"或明确指定权限:
$scope = "https://analysis.windows.net/powerbi/api/Workspace.Read.All https://analysis.windows.net/powerbi/api/Usage.Read.All"确认服务主体的Power BI访问权限
- 登录Power BI管理门户,进入「租户设置」。
- 找到「允许服务主体使用Power BI API」选项,确保已启用。
- 若脚本需访问特定工作区,需将服务主体添加为目标工作区的成员或管理员。
重新获取访问令牌
清除脚本可能存在的令牌缓存(比如删除本地缓存文件或重启PowerShell会话),重新运行脚本获取新令牌,确保新令牌包含更新后的权限。
内容的提问来源于stack exchange,提问作者jackslearnscode
相关产品推荐
相关产品推荐

