首页 > 解决方案 > 使用 Azure Functions/Powershell 应用 PnP 预配模板

问题描述

我目前正在尝试开发一个流,它创建一个 SharePoint 站点,然后利用 Azure 函数为所述站点提供一系列库等。

Flow 本身非常简单,但我正在努力解决的是 Azure Function 本身,尤其是身份验证;它使用一个Connect-PnPOnlinecmdlet,而我们的租户使用 MFA,我在解决它时遇到了一些困难——我创建了一个服务主体用户,它至少使我能够连接到该站点,但我仍然可以' t 实际使用Apply-PnPProvisioningTemplate,也没有真正使用任何其他 PnP 命令 - 当我尝试这样做时,我得到:

“远程服务器返回错误:(403) Forbidden。”

我的服务主体用户具有贡献权限,以及 Sites.FullControl.All 的范围,所以我不确定我哪里出错了。

请参阅下面的 Powershell 代码 - 我认为问题并不是真正从那里产生的,但显示出来也无妨:

$requestBody = Get-Content $req -Raw | ConvertFrom-Json

"destination": "SharePointSiteURL"


$destination = $requestBody.destination
$secpasswd = ConvertTo-SecureString $env:pass -AsPlainText -Force
$mycreds = New-Object System.Management.Automation.PSCredential ($env:user, $secpasswd)
Connect-PnPOnline -url $destination -AppID $env:user -AppSecret $env:pass
Apply-PnPProvisioningTemplate -path "D:\home\site\wwwroot\template.xml"
Out-File -Encoding Ascii -FilePath $res -inputObject "Done $destination"

我应该注意,这实际上是我第一次使用 Azure Functions,如果这里的解决方案非常简单,请原谅我!任何帮助,将不胜感激。

标签: azurepowershellazure-functions

解决方案



推荐阅读