In this Lists operations using PnP PowerShell article, we will learn about various list operations in SharePoint Online using the PnP PowerShell script, like how to add a column, how to get column details, and how to delete a column using the PnP PowerShell script in the SharePoint Online list.
How to add a column in SharePoint online list using PnP PowerShell?
Using the below PnP PowerShell code we can add the column to the SharePoint Online list. The “Add-PnPField” command is used to create a column in the SharePoint list.
Lists operations using PnP PowerShell
#Create list column using the PnP PowerShell Add-PnPField -DisplayName "PnPLTestColumn" -InternalName "PnPLTestColumn" -Group "Custom Columns" -Type Text -List $listName -AddToDefaultView -Required #Create list column using the PnP PowerShell - ends here
How to get column property in SharePoint online list using PnP PowerShell?
Using the below PnP PowerShell code, we can get the column property for the given column. Here the “Get-PnPField” command is responsible for getting the property of the column. In the below example I have used the “Title” column as the key column – meaning bypassing the “Title” column as the identity parameter, we get all properties of the “Title” column.
#The below codes getting the column property of Title column. $myColumn = Get-PnPField -List $listName -Identity "Title" Write-Host "Description :" $myColumn.Description Write-Host "Group Name :" $myColumn.Group Write-Host "Internal Name :" $myColumn.InternalName Write-Host "Static Name :" $myColumn.StaticName Write-Host "Scope :" $myColumn.Scope Write-Host "Type :" $myColumn.TypeDisplayName Write-Host "Schema XML :" $myColumn.SchemaXml Write-Host "Is Required? :" $myColumn.Required Write-Host "Is read only? :" $myColumn.ReadOnlyField Write-Host "Unique? :" $myColumn.EnforceUniqueValues Write-Host "----------------------------------" #The below codes getting the column property of Title column - ends here.
How to get all column properties in SharePoint online list using PnP PowerShell?
Using the below PnP PowerShell we will get all column properties in SharePoint online list – it is just the same as the above command “Get-PnPField” which only takes the list as a parameter, then it loops through all the columns for the given list.
#The below codes generate all column properties from the given list. $allColumns = Get-PnPField -List $listName foreach($oneColumn in $allColumns) { Write-Host "Column Title :" $oneColumn.Title Write-Host "Description :" $oneColumn.Description Write-Host "Group Name :" $oneColumn.Group Write-Host "Internal Name :" $oneColumn.InternalName Write-Host "Static Name :" $oneColumn.StaticName Write-Host "Scope :" $oneColumn.Scope Write-Host "Type :" $oneColumn.TypeDisplayName Write-Host "Schema XML :" $oneColumn.SchemaXml Write-Host "Is Required? :" $oneColumn.Required Write-Host "Is read only? :" $oneColumn.ReadOnlyField Write-Host "Unique? :" $oneColumn.EnforceUniqueValues Write-Host "---------------------------------" }
How to delete a column in SharePoint online list using the PnP PowerShell?
Using the below PnP PowerShell command we can delete a column from the SharePoint Online list. The “Remove-SPOField” is used to delete the column from the list which takes the list as the list name and identity as the column name parameter.
#The below code removes the particular list column from the given list. Remove-SPOField -List $listName -Identity "PnPLTestColumn" -Force #The below code removes the particular list column from the given list - ends here
Lists operations in SharePoint Online using PnP PowerShell – complete code
Below is the complete code for the list operations in SharePoint Online using the PnP PowerShell.
####The below script is used to do the PnP list operations like Create, Read, Delete columns in the SharePoint online list. cls $PSshell = Get-PSSnapin "Microsoft.SharePoint.PowerShell" -ErrorVariable err -ErrorAction SilentlyContinue if($PSshell -eq $null) { Add-PSSnapin "Microsoft.SharePoint.PowerShell" } $fileName = "List_Operation_using_PnP_PowerShell" #'yyyyMMddhhmm yyyyMMdd $enddate = (Get-Date).tostring("yyyyMMddhhmmss") #$filename = $enddate + '_VMReport.doc' $logFileName = $fileName +"_"+ $enddate+"_Log.txt" $invocation = (Get-Variable MyInvocation).Value $directoryPath = Split-Path $invocation.MyCommand.Path $directoryPathForLog=$directoryPath+"\"+"LogFiles" if(!(Test-Path -path $directoryPathForLog)) { New-Item -ItemType directory -Path $directoryPathForLog #Write-Host "Please Provide Proper Log Path" -ForegroundColor Red } #$logPath = $directoryPath + "\" + $logFileName $logPath = $directoryPathForLog + "\" + $logFileName $isLogFileCreated = $False function Write-Log([string]$logMsg) { if(!$isLogFileCreated){ Write-Host "Creating Log File..." if(!(Test-Path -path $directoryPath)) { Write-Host "Please Provide Proper Log Path" -ForegroundColor Red } else { $script:isLogFileCreated = $True Write-Host "Log File ($logFileName) Created..." [string]$logMessage = [System.String]::Format("[$(Get-Date)] - {0}", $logMsg) Add-Content -Path $logPath -Value $logMessage } } else { [string]$logMessage = [System.String]::Format("[$(Get-Date)] - {0}", $logMsg) Add-Content -Path $logPath -Value $logMessage } } #Paramaters area $adminSiteURL="https://globalsharepoint2020-admin.sharepoint.com" $SiteURL="https://globalsharepoint2020.sharepoint.com/" $userName = "YourSPOUser@YourSPOTenant.sharepoint.com" $passWord = "YourSPOPassword" $encPassWord = convertto-securestring -String $passWord -AsPlainText -Force $cred = new-object -typename System.Management.Automation.PSCredential -argumentlist $userName, $encPassWord $listName="Employee" #Paramaters area - Ends try { Connect-PnPOnline -Url $SiteURL -Credentials $cred #Create list column using the PnP PowerShell Add-PnPField -DisplayName "PnPLTestColumn" -InternalName "PnPLTestColumn" -Group "Custom Columns" -Type Text -List $listName -AddToDefaultView -Required #Create list column using the PnP PowerShell - ends here #The below codes getting the column property of the Title column. $myColumn = Get-PnPField -List $listName -Identity "Title" Write-Host "Description :" $myColumn.Description Write-Host "Group Name :" $myColumn.Group Write-Host "Internal Name :" $myColumn.InternalName Write-Host "Static Name :" $myColumn.StaticName Write-Host "Scope :" $myColumn.Scope Write-Host "Type :" $myColumn.TypeDisplayName Write-Host "Schema XML :" $myColumn.SchemaXml Write-Host "Is Required? :" $myColumn.Required Write-Host "Is read only? :" $myColumn.ReadOnlyField Write-Host "Unique? :" $myColumn.EnforceUniqueValues Write-Host "----------------------------------" #The below codes getting the column property of Title column - ends here. #The below codes generate all columns properties from the given list. $allColumns = Get-PnPField -List $listName foreach($oneColumn in $allColumns) { Write-Host "Column Title :" $oneColumn.Title Write-Host "Description :" $oneColumn.Description Write-Host "Group Name :" $oneColumn.Group Write-Host "Internal Name :" $oneColumn.InternalName Write-Host "Static Name :" $oneColumn.StaticName Write-Host "Scope :" $oneColumn.Scope Write-Host "Type :" $oneColumn.TypeDisplayName Write-Host "Schema XML :" $oneColumn.SchemaXml Write-Host "Is Required? :" $oneColumn.Required Write-Host "Is read only? :" $oneColumn.ReadOnlyField Write-Host "Unique? :" $oneColumn.EnforceUniqueValues Write-Host "---------------------------------" } #The below code removes the particular list column from the given list. Remove-SPOField -List $listName -Identity "PnPLTestColumn" -Force #The below code removes the particular list column from the given list - ends here } catch { $ErrorMessage = $_.Exception.Message +"in PnP list operation Create, Read, Delete columns!:" Write-Host $ErrorMessage -BackgroundColor Red Write-Log $ErrorMessage }
Summary: What do we have here (Lists operations using PnP PowerShell)?
Thus, in this article we have learned the below with respect to list operations in SharePoint Online using the PnP PowerShell:
- How to add a column in SharePoint online list using PnP PowerShell?
- How to get column property in SharePoint online list using PnP PowerShell?
- How to get all column properties in SharePoint online list using PnP PowerShell?
- How to delete a column in SharePoint online list using the PnP PowerShell?
- How to remove a column from the SharePoint Online list using PnP PowerShell?
- List operations in SharePoint Online using PnP PowerShell – complete code
See Also: Lists operations using PnP PowerShell
You may also like the following SharePoint PowerShell tutorials:
- [Verified]: Find all InfoPath forms in SharePoint using PowerShell
- [Verified]: Remove recycle bin items in SharePoint using PowerShell
- [Verified]: Cancel SharePoint workflows using PowerShell
- SharePoint Online: Remove custom app using PnP PowerShell
- Office 365: How to create content type in SharePoint Online using PowerShell?
- Office 365: How to create document library in SharePoint Online using PowerShell?
- Export SharePoint user information list to CSV(Excel) file using PowerShell
- How to fix “The term ‘Get-MsolUser’ is not recognized as the name of a cmdlet”
- How to fix the “The term ‘Get-SPWeb’ is not recognized as the name of a cmdlet, function” PowerShell error
- How to hide quick launch menu in SharePoint online using PnP PowerShell
- Edit user Permission is greyed Out SharePoint Online
- Get workflow inventory from SharePoint online using PowerShell CSOM
- Create a modern team site using PnP PowerShell in SharePoint
- In 2 steps convert a classic SharePoint page to modern using PnP
- SharePoint Online: Delete All Files from document library for the given date – PowerShell CSOM
- Create SharePoint online list using PnP provisioning template
- SharePoint Automation: PowerShell script to get remote server information
- Office 365: Retrieve hub sites and associated sites using PnP Powershell
- SharePoint Online Automation – O365 – Upload files to document library using PowerShell CSOM
- SharePoint Online Automation – O365 – Create multiple items in a list using PowerShell CSOM
- SharePoint Online Automation – O365 – Update document library metadata using PowerShell CSOM
- PnP PowerShell overview
