已创建Powershell并使用Invoke PowerBIRestMethod计划Power BI刷新,但抛出403错误
我正在使用下面的代码。我已将凭据和其他GUID替换为XXXX。如果我遗漏了什么,请告诉我。正如我的安全团队所提到的,服务负责人对数据集、报表和工作区进行了读/写操作已创建Powershell并使用Invoke PowerBIRestMethod计划Power BI刷新,但抛出403错误,powershell,powerbi,Powershell,Powerbi,我正在使用下面的代码。我已将凭据和其他GUID替换为XXXX。如果我遗漏了什么,请告诉我。正如我的安全团队所提到的,服务负责人对数据集、报表和工作区进行了读/写操作 Connect-PowerBIServiceAccount -ServicePrincipal -CertificateThumbprint XXXX -ApplicationId XXXX -Tenant XXXX $jsonbody = '{ "value": { "days&quo
Connect-PowerBIServiceAccount -ServicePrincipal -CertificateThumbprint XXXX -ApplicationId XXXX -Tenant XXXX
$jsonbody = '{
"value": {
"days": [
"Sunday",
"Tuesday",
"Friday",
"Saturday"
],
"times": [
"07:00",
"11:30",
"16:00",
"23:30"
],
"localTimeZoneId": "UTC",
"enabled": true
}
}'
Invoke-PowerBIRestMethod -Url 'https://api.powerbi.com/v1.0/myorg/groups/XXXX/datasets/XXXX/refreshSchedule' -Method PATCH -Body $jsonbody -ContentType application/json
Resolve-PowerBIError -Last
上面的脚本抛出下面的错误
在与微软产品团队取得联系后,我终于解决了这个问题 第一个问题是服务主体应该是“应用程序权限”类型,而不是“委托”。委托服务主体将抛出400错误 第二部分,也是403禁止错误的主要原因是我需要接管数据集。这意味着我不应该只是工作区的管理员,而是需要首先使用PowerBIRESTAPI创建数据集。仅接管后,我可以使用服务主体身份验证执行其他与数据集相关的任务 总的来说,顺序是
如果有人在尝试类似的东西,那么我已经发布了一个博客,其中包含详细的实现和步骤,包括Powershell脚本。在与Microsoft产品团队取得联系后,我能够解决这个问题 第一个问题是服务主体应该是“应用程序权限”类型,而不是“委托”。委托服务主体将抛出400错误 第二部分,也是403禁止错误的主要原因是我需要接管数据集。这意味着我不应该只是工作区的管理员,而是需要首先使用PowerBIRESTAPI创建数据集。仅接管后,我可以使用服务主体身份验证执行其他与数据集相关的任务 总的来说,顺序是
如果有人在尝试类似的东西,那么我已经发布了一篇博客,详细介绍了实现和步骤,包括Powershell脚本。API权限是不相关的。服务主体必须对工作区和数据集具有权限。谁是数据集的所有者?目前,只有数据集所有者可以安排刷新。我认为问题在于URL参数。删除此部分“”,然后再次检查。它是经典工作区还是新的现代工作区?服务主体不适用于classic。在Power BI管理设置中,您是否将此服务主体列入白名单或允许所有服务主体?感谢所有人的输入。在发布查询之前,我尝试了一些。这是一个新的工作空间&不是经典的工作空间。我已将服务主体作为管理员添加到工作区,并确认它是数据集的所有者。我也删除了链接的部分,但也没有工作。在Power BI管理设置(管理门户>租户设置>开发人员设置)中,我启用了“允许服务主体使用Power BI API”。安全团队为我提供了一个组来添加,但我发现我的帐户没有添加到其中。我不确定这是否会产生一些影响,但与安全团队进行检查。API权限是不相关的。服务主体必须对工作区和数据集具有权限。谁是数据集的所有者?目前,只有数据集所有者可以安排刷新。我认为问题在于URL参数。删除此部分“”,然后再次检查。它是经典工作区还是新的现代工作区?服务主体不适用于classic。在Power BI管理设置中,您是否将此服务主体列入白名单或允许所有服务主体?感谢所有人的输入。在发布查询之前,我尝试了一些。这是一个新的工作空间&不是经典的工作空间。我已将服务主体作为管理员添加到工作区,并确认它是数据集的所有者。我也删除了链接的部分,但也没有工作。在Power BI管理设置(管理门户>租户设置>开发人员设置)中,我启用了“允许服务主体使用Power BI API”。安全团队为我提供了一个组来添加,但我发现我的帐户没有添加到其中。我不确定这是否会产生一些影响,但请咨询安全团队。