Привет, ТАК сообщество!
Во время миграции с SP 2007 на SP Online возникла какая-то проблема с одним из перенесенных списков.
Ошибка, хотя и не очень полезная, говорит сама за себя
Извините, свойства не могут быть отображены с ошибкой: Guid должен
содержит 32 цифры с 4 тире
(ХХХХХХХХХХХЙ-XXXXXXXX-ХХХХХХХХХХХЙ) ..
Теперь я пытаюсь удалить столбец за столбцом и посмотреть, у кого из них проблема.
Пока у меня работает следующее
Import-Module 'C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\16\ISAPI\Microsoft.SharePoint.Client.dll'
#Connect to the SP site
$site = 'https://example.sharepoint.com/sites/Site/Sub-Site'
$admin = 'login@login.com'
$password = Read-Host 'Enter Password' -AsSecureString
#Get site context
$context = New-Object Microsoft.SharePoint.Client.ClientContext($site)
$credentials = New-Object Microsoft.SharePoint.Client.SharePointOnlineCredentials($admin , $password)
$context.Credentials = $credentials
#Get list by list Title
$list = $context.Web.Lists.GetByTitle('Test1')
$fields = $list.Fields
#Load the items
$context.Load($list)
$context.Load($fields)
$context.ExecuteQuery()
#Script to delete list columns
#Get number of fields
$i = $fields.count
#Reset column properties to allow delete
$i = $i - 1
$column = $fields[$i]
$column.Hidden = $false
$column.ReadOnlyField = $false
$column.AllowDeletion = $true
$column.Update()
$fields.Delete($column)
$context.ExecuteQuery()
Это возвращает ошибку при попытке изменить скрытое поле, которое кажется правильным, давая ReadOnly значение true!
Моя проблема в следующем ... если я сделаю это
$column.ReadOnlyField = $false
$column.Update()
$context.ExecuteQuery()
и затем попробуйте загрузить список снова, тот же столбец появится с атрибутом ReadOnlyField как True.
Я читал, и везде, где я смотрел, люди просто пишут, что это работает для них. Основное различие между моим кодом и их кодом заключается в том, что я не использую учетную запись Арендатора.
Это достижимо без учета счета арендатора? Что я делаю не так?