Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/powershell/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/powerbi/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
已创建Powershell并使用Invoke PowerBIRestMethod计划Power BI刷新,但抛出403错误_Powershell_Powerbi - Fatal编程技术网

已创建Powershell并使用Invoke PowerBIRestMethod计划Power BI刷新,但抛出403错误

已创建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

我正在使用下面的代码。我已将凭据和其他GUID替换为XXXX。如果我遗漏了什么,请告诉我。正如我的安全团队所提到的,服务负责人对数据集、报表和工作区进行了读/写操作

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”。安全团队为我提供了一个组来添加,但我发现我的帐户没有添加到其中。我不确定这是否会产生一些影响,但请咨询安全团队。