SharePoint Online: How to Hide Columns from List using PowerShell?

Requirement: SharePoint Online PowerShell to Hide Field.

In a project request list, when a user fills the form we wanted to hide the “Status” column by default and then have a workflow to populate the status of the particular request. Similarly, for the Edit column as well, but show it only on View form. So, How to hide a column from SharePoint online list?

SharePoint Online Hide Column from a list using PowerShell:

Here is the PowerShell script to hide list columns from SharePoint Online list.

#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"
#Config Parameters
$SiteURL= ""
$FieldName = "Status" #Display Name

#Setup Credentials to connect
$Cred = Get-Credential
$Cred = New-Object Microsoft.SharePoint.Client.SharePointOnlineCredentials($Cred.UserName,$Cred.Password)

Try {
    #Setup the context
    $Ctx = New-Object Microsoft.SharePoint.Client.ClientContext($SiteURL)
    $Ctx.Credentials = $Cred
    #Get the web, List and Field objects
    $Field = $List.Fields.GetByTitle($FieldName)

    #Hide the column from New & Edit forms
    Write-host -f Green "List Field hidden Successfully!"
Catch {
    write-host -f Red "Error hiding List Column: " $_.Exception.Message

This PowerShell hides the specific field from New form and Edit forms of the list!

sharepoint online hide column

SharePoint Online: Hide a column in new item form using PnP PowerShell

#Config Variables
$SiteURL = ""
$ListName = "Projects"
$FieldName =  "Status"

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

#Get the Field
$Field = Get-PnPField -List $ListName | Where {$_.Title -eq $FieldName}

#Hide the field from New Form

You can also use Set-PnPField cmdlet to hide a field from SharePoint Online list:

Connect-PnPOnline -Url "" -UseWebLogin

Set-PnPField -List "Config" -Identity "Title" -Values @{Required=$False;Hidden=$True}

Salaudeen Rajack

Salaudeen Rajack is a SharePoint Architect with Two decades of SharePoint Experience. He loves sharing his knowledge and experiences with the SharePoint community, through his real-world articles!

Leave a Reply