当前位置:网站首页 > 更多 > 玩电脑 > 正文

[玩转系统] SharePoint Online:使用 PowerShell 更改内容类型中的列顺序

作者:精品下载站 日期:2024-12-14 15:05:53 浏览:13 分类:玩电脑

SharePoint Online:使用 PowerShell 更改内容类型中的列顺序


要求:使用 PowerShell 更改 SharePoint Online 内容类型中的列顺序。

如何更改 SharePoint Online 内容类型中的列顺序?

在 SharePoint Online 中,内容类型是定义特定类型内容的属性和行为的元数据(列)和设置的可重用集合。例如,您可以有发票、采购订单或员工信息的内容类型。如果您想要重新排列列表或库中信息的显示,更改内容类型中的列顺序可能会很有用。在本文中,我们将讨论如何使用 SharePoint 用户界面和 PowerShell 更改 SharePoint Online 中内容类型的列顺序。

SharePoint Online 内容类型中的列顺序定义了列表表单(例如新建页面、编辑页面和查看页面)中显示的字段的顺序。要更改与内容类型关联的列在列表页面上的显示顺序,请执行以下操作:

  1. 导航到创建内容类型的 SharePoint Online 网站。
  2. 单击“设置”齿轮 >> 选择“站点设置”
  3. 在“网站设置”页面上,选择“Web 设计师图库”部分下的“网站内容类型”链接。
  4. 在“网站内容类型”页面上,单击要编辑的内容类型的名称 >> 单击“列”部分中的“列顺序”链接。
  5. 在“列顺序”页面上,您可以更改顶部数字的位置以设置列的排序顺序。

    [玩转系统] SharePoint Online:使用 PowerShell 更改内容类型中的列顺序

  6. 完成后,设置是否将列排序更改推送到基于此类型的所有内容类型。
  7. 单击“确定”按钮保存更改。

这会在列表级别设置列表内容类型的列顺序。可以为列表内容类型和网站内容类型设置列顺序。

SharePoint Online:用于设置内容类型列顺序的 PowerShell

使用 PowerShell 重新排列内容类型中的字段怎么样?


#Load SharePoint CSOM Assemblies
Add-Type -Path "C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\ISAPI\Microsoft.SharePoint.Client.dll"
Add-Type -Path "C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\ISAPI\Microsoft.SharePoint.Client.Runtime.dll"
    
#Set Variables
$SiteURL= "https://crescent.sharepoint.com/sites/Marketing"
$ListName = "Contacts"
$ContentTypeName = "Announcement"
$ColumnOrder = @("Title", "Category", "Body", "Expires")

#Setup Credentials to connect
$Cred = Get-Credential
  
Try {
    #Setup the context
    $Ctx = New-Object Microsoft.SharePoint.Client.ClientContext($SiteURL)
    $Ctx.Credentials = New-Object Microsoft.SharePoint.Client.SharePointOnlineCredentials($Cred.UserName,$Cred.Password)

    #Get the List Content Type
    $List = $Ctx.Web.Lists.GetByTitle($ListName)
    $Ctx.Load($List.ContentTypes)
    $Ctx.ExecuteQuery()

    #Get the Content Type from List
    $CType = $List.ContentTypes | Where {$_.Name -eq $ContentTypeName}
    If($CType -ne $Null)
    {
        $Ctx.Load($CType.FieldLinks)
        $Ctx.ExecuteQuery()

        #Set Content type field Order
        $CType.FieldLinks.Reorder($ColumnOrder)
        $CType.Update($False)
        $Ctx.ExecuteQuery()
        Write-host -f Green "Content Type Order has been updated Successfully!"
    }
}
Catch {
    write-host -f Red "Error: " $_.Exception.Message
} 

使用 PnP PowerShell 更改内容类型中的列顺序

让我们使用 PnP PowerShell 更改网站内容类型中的列顺序。


#Set Variables
$SiteURL = "https://crescent.sharepoint.com/sites/projects"
$ContentTypeName ="Crescent Project Proposal V2"
$FieldOrder = @("Project_x0020_Name","Project_x0020_Description","Project_x0020_Start_x0020_Date","Project_x0020_Status","Project_x0020_Manager")

#Connect to PnP Online
Connect-PnPOnline -Url $SiteURL -Interactive

#Get the content type
$ContentType = Get-PnPContentType -Identity $ContentTypeName

#Update column Order in content type
$FieldLinks =  Get-PnPProperty -ClientObject $ContentType -Property "FieldLinks"
$FieldLinks.Reorder($FieldOrder)
$ContentType.Update($True)
Invoke-PnPQuery

结论

通过更改内容类型中的列顺序,您可以自定义 SharePoint Online 列表或库中信息的显示。如果您有大量列并且想要重新排列信息的显示以使其更易于阅读,或者如果您想要确定某些信息的优先级,那么这会特别有用。通过执行本教程中概述的步骤,您可以快速轻松地更改 SharePoint Online 内容类型中的列顺序。通过使用 PowerShell,您可以自动执行更改 SharePoint Online 内容类型中的列顺序的过程。这可以节省时间和精力,特别是当您需要对多种内容类型进行更改或需要定期进行更改时。

您需要 登录账户 后才能发表评论

取消回复欢迎 发表评论:

关灯