azure - 使用 Azure Functions/Powershell 应用 PnP 预配模板
问题描述
我目前正在尝试开发一个流,它创建一个 SharePoint 站点,然后利用 Azure 函数为所述站点提供一系列库等。
Flow 本身非常简单,但我正在努力解决的是 Azure Function 本身,尤其是身份验证;它使用一个Connect-PnPOnline
cmdlet,而我们的租户使用 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,如果这里的解决方案非常简单,请原谅我!任何帮助,将不胜感激。
解决方案
推荐阅读
- android-room - 在 Room ORM 中执行查询操作会重新启动我的应用程序
- byte-buddy - ByteBuddy 如何使用构造函数调用类中的另一个构造函数来创建类?
- node.js - 尝试通过 Mac 打开 appium 时收到折旧警告
- selenium - 如何 E2E 测试具有一些 websocket 端点的 REST API?
- oracle - (KAFKA Oracle DEBEZIUM)无法连接:无法解析Oracle数据库版本
- bash - 无法替换 bash 脚本中表达式内的变量值
- python - 获取“只能使用带有字符串值的 .str 访问器!” 熊猫数据框中没有要处理的记录时出错
- html-table - Google App Script - 在表单中将记录从工作表拉到 HTML 表的示例
- javascript - useMemo 可以在匿名函数中使用吗?
- angular - Ionic + PWA - 在浏览器中显示启动画面