授予使用 PnP Powershell 将文件上传到共享点的权限 - 401 未经授权

问题描述 投票:0回答:1

我正在尝试授予应用程序注册访问权限,以使用 PnP Online 将文件上传到共享点站点。 所有命令似乎都有效,但是当我尝试上传文件时,出现 401 错误。 我将不胜感激有关如何开展这项工作的任何专业知识。 我遵循的步骤是::

  1. 创建应用程序注册
  2. 添加共享点Sites.FullControl.All api权限并批准它。
  3. 创建自签名证书,将其转换为.cer 并上传。
  4. 使用 Connect-PnPOnline 进行连接。这不会返回任何错误。
  5. 运行 Grant-PnPAzureADAppSitePermission。同样,这不会返回任何错误。
  6. 运行AddPnPFile。这会给出错误 401 Unauthorized。

下面是所有代码以及输出的屏幕截图。 感谢对此的任何帮助。

$Sites_FullAccess_App_ID = "19ef4773-433b-46ac-9859-865824293acd"
$Sites_FullAccess_Obj_ID = "6f8b2588-96ed-4a78-ab81-9cda9730a798"
$Sites_FullAccess_Name = "Sites_FullAccess"
$Sites_FullAccess_Secret = "~c754~9vkHcvUajPsDr.eH1X59iHEJ4d3FjybcYy"
$Tenant_Id = "601141a3-a812-4670-ac30-03f9db120f15"
$Tenant_DN = "myorg.onmicrosoft.com"
$CertThumbprint = "7CAE02F3A045258758522FF54552D356A6753159"
$securePasswordString = ConvertTo-SecureString "mY_Certif1cate-PassCDRD" -AsPlainText -Force
$CertificatePath = "C:\temp\Sites_FullAccess Certificate.pfx"
$SiteUrl = "https://myorg.sharepoint.com/sites/mysite"

Connect-PnPOnline -Url $SiteUrl `
    -ClientId $Sites_FullAccess_App_ID `
    -CertificatePath $CertificatePath `
    -CertificatePassword  $securePasswordString `
    -Tenant $Tenant_DN `
    -Verbose `
    #-ReturnConnection

Grant-PnPAzureADAppSitePermission -Site $SiteUrl `
    -AppId $Sites_FullAccess_App_ID `
    -DisplayName $Sites_FullAccess_Name `
    -Permissions FullControl 
    
Add-PnPFile -Path "C:\temp\testfile.txt" -Folder "QuercusFiles" -Connection $connection

Output from running commands

powershell sharepoint office365
1个回答
0
投票

我最终找到了答案。 我必须强制安装最新的预发行版 PnpOnline:

Install-Module PnP.PowerShell -AllowPrerelease -SkipPublisherCheck -Force

我刚刚安装了最新的发行版本,所以我假设最近出现了错误。

安装预发行版本后,它就开始工作了。

© www.soinside.com 2019 - 2024. All rights reserved.