Изменить состояние «Только чтение» с помощью PowerShell без входа в систему клиента - PullRequest
0 голосов
/ 30 августа 2018

Привет, ТАК сообщество!

Во время миграции с 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.

Я читал, и везде, где я смотрел, люди просто пишут, что это работает для них. Основное различие между моим кодом и их кодом заключается в том, что я не использую учетную запись Арендатора.

Это достижимо без учета счета арендатора? Что я делаю не так?

...