在没有租户登录的情况下使用PowerShell更改只读状态

时间:2018-08-30 10:06:10

标签: powershell sharepoint sharepoint-online

您好,所以有社区!

从SP 2007迁移到SP Online的过程中,迁移的众多列表之一存在某种问题。

该错误虽然不太有用,但几乎是不言而喻的

  

对不起,无法显示属性,出现错误:Guid应该   包含32位数字和4个破折号   (xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx)..

现在我正尝试逐列删除,看看哪个有问题。

到目前为止,我有以下工作

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。

我一直在阅读,在我到处看到的人中,都发布了适用于他们的内容。我看到的代码与代码之间的主要区别在于,我没有使用租户帐户。

没有租户帐户,这是可以实现的吗?我在做什么错了?

0 个答案:

没有答案