Список «Документы» не существует на сайте - запрос Powershell - PullRequest
0 голосов
/ 27 апреля 2020

Я запускаю сценарий PowerShell для получения списка всех документов в библиотеке документов, URL-адрес:

https://xxx.sharepoint.com/sites/ABC/Shared%20Documents/Forms/AllItems.aspx

Это ошибка сообщение: Ошибка при создании отчета об истории версий! Исключение, вызывающее «ExecuteQuery» с аргументом (ами) «0»: «Список« Документы »не существует на сайте с URL« https://xxx.sharepoint.com/sites/ABC '. »

У меня есть попытался изменить $ LibraryName на «Shared Documents» и «Shared% 20Documents» без успеха.

Add-Type -Path "C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\16\ISAPI\Microsoft.SharePoint.Client.dll"
Add-Type -Path "C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\16\ISAPI\Microsoft.SharePoint.Client.Runtime.dll"

#Set Parameters
$SiteURL="https://xxx.sharepoint.com/sites/abc/"
$LibraryName="Documents"

    #Upload Credentials 
    [SecureString]$SecurePass = ConvertTo-SecureString $AdminPassword -AsPlainText -Force 
    $credentials = New-Object -TypeName System.Management.Automation.PSCredential -argumentlist $AdminName, $(convertto-securestring $AdminPassword -asplaintext -force)
    $AdminSiteURL="https://xxx-admin.sharepoint.com"

    #Connect to SharePoint Online Admin Center
    Connect-SPOService -Url $AdminSiteURL –Credential $credentials

    #Get All site collections
    $SiteCollections = Get-SPOSite -Limit All


Try {

     #Upload Credentials 
    [SecureString]$SecureUserPass = ConvertTo-SecureString $userPassword -AsPlainText -Force 
    $Credentials = New-Object -TypeName Microsoft.SharePoint.Client.SharePointOnlineCredentials -argumentlist $userName, $(convertto-securestring $userPassword -asplaintext -force)

    #Setup the context
    $Ctx = New-Object Microsoft.SharePoint.Client.ClientContext($SiteURL)
    $Ctx.Credentials = $Credentials

    int.Client.ClientContext($SiteURL)
    #$Ctx.Credentials = $Credentials_2

    #Get the web & Library
    $Web=$Ctx.Web
    $Ctx.Load($Web)
    $List = $Web.Lists.GetByTitle($LibraryName)
    $Ctx.ExecuteQuery()



    ----------"code fails here" ----------
    ......}```

1 Ответ

0 голосов
/ 27 апреля 2020

Вы можете проверить имя библиотеки в настройках библиотеки. enter image description here

Когда я изменил имя библиотеки, ваша проблема воспроизводилась. Когда вы сохраняете имя в коде и имя библиотеки одинаковым, код в порядке.

Мой результат теста: enter image description here

...