kwizcom banner advertisement

SharePoint Online: Configure List Settings using PowerShell

Requirement: Edit List Settings in SharePoint Online using PowerShell
sharepoint online edit list settings

SharePoint Online: PowerShell to Set List Settings
Here is the PowerShell to update most common properties of a SharePoint Online list or library.
#Load SharePoint CSOM Assemblies
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 Config Parameters
$SiteURL="https://crescent.sharepoint.com/"
$ListName="Projects"

#Get Credentials to connect
$Cred= Get-Credential

#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
$List=$Ctx.Web.Lists.GetByTitle($ListName)

#Allow management of content types? 
$List.ContentTypesEnabled=$True

#Make "New Folder" Command available?
$List.EnableFolderCreation=$True

#Enable Attachments : Applicable Only for Lists!
$List.EnableAttachments=$True

#Require content approval for submitted items? 
$List.EnableModeration=$True

#Require documents to be checked out before they can be edited : Applicable Only for Libraries!
$List.ForceCheckout=$True

#Display this list using the new or classic experience? 
$List.ListExperienceOptions = "NewExperience" #ClassicExperience or Auto

#Draft Item Security
$List.DraftVersionVisibility = [Microsoft.SharePoint.Client.DraftVisibilityType]::Approver #Reader, Approver, Author

#Quick Edit - Allow items in this document library to be edited using Quick Edit and the Details Pane? 
$List.DisableGridEditing=$true

#Offline Client Availability 
$List.ExcludeFromOfflineClient = $True

#Apply the settings to list
$List.Update()
$Ctx.ExecuteQuery()

Write-host -f Green "List Settings Updated!"

My other posts on configuring List settings in SharePoint Online using PowerShell:
Here is my another article to get SharePoint Online List Settings: SharePoint Online: PowerShell to Get List Settings

PnP PowerShell to Change List Settings in SharePoint Online:
#Config Variables
$SiteURL = "https://crescenttech.sharepoint.com"
$ListName ="Projects"

#Connect to PNP Online
Connect-PnPOnline -Url $SiteURL -Credentials (Get-Credential)

#Get the List
$List = Get-PnPList -Identity $ListName

#Set List Properties
If($List)
{ 
    #Enable versioning and set Number of versions to 50
    Set-PnPList -Identity $List -EnableVersioning $True -MajorVersions 50

    #Enable Content Type Management
    Set-PnPList -Identity $List -EnableContentTypes $True

    #Content Approval
    Set-PnPList -Identity $List -EnableModeration $True

    #Enable Folders
    Set-PnPList -Identity $List -EnableFolderCreation $True

    #Enable Attachments
    Set-PnPList -Identity $List -EnableAttachments $True 

    #Require Checkout
    Set-PnPList -Identity $List -ForceCheckout $True

    #Set List Experience
    Set-PnPList -Identity $List -ListExperience NewExperience
}
Its also possible to combine these operations in a single line. E.g.
Set-PnPList -Identity $List -EnableAttachments $True -EnableContentTypes $True -EnableFolderCreation $True 
SharePoint Online: Configure List Settings using PowerShell SharePoint Online: Configure List Settings using PowerShell Reviewed by Salaudeen Rajack on June 30, 2017 Rating: 5

No comments:

Please Login and comment to get your questions answered!

Powered by Blogger.