When working with the SharePoint Online list, there are many ways to delete a single item or all list items, like manually or programmatically.
In the SharePoint tutorial, I will show you how to delete a single list item in SharePoint using PnP PowerShell and how to delete all list items in SharePoint list using PnP PowerShell.
Also, I will discuss how to get all list items in SharePoint using PnP PowerShell and how to get a single list item in SharePoint using PnP PowerShell with real-time examples.
SharePoint Online PnP Delete List Item
In PowerShell, the commands Remove-PnPListItem or Move-PnPListItem ToRecycleBin are used for deleting list items within the SharePoint Online list. To execute the PowerShell script, you can use an editor such as “Visual Studio Code.”
Syntax of the Remove-PnPListItem command:
Remove-PnPListItem [-List] <ListPipeBind> -Identity <ListItemPipeBind> [-Recycle] [-Force]
Where,
- List = Provide the list name where you want to delete the item
- Identity = It is the ID of the list item or actual ListItem object
- Recycle = SharePoint list, deleted items stored in the recycle bin
Example:
I have a SharePoint Online list named “Expense Tracker” that has some records or items. Now, I would like to delete the third item [ID = 3] using PnP PowerShell.
For that, use the PowerShell command below to delete a single list item in SharePoint with the parameters List, Identity, and Force.
Connect-PnPOnline -Url https://szg52.sharepoint.com/sites/Marketing
Remove-PnPListItem -List "Expense Tracker" -Identity "3" -Force
Now, execute the above command by clicking the RUN button. Then, you will see the details of deleting a single Sharepoint list item in the TERMINAL, as shown below.
Finally, The specific SharePoint list item [Item with ID number 3] was deleted, as shown below.
Syntax of the Move-PnPListItem ToRecycleBin command:
Move-PnPListItemToRecycleBin [-List] <ListPipeBind> -Identity <ListItemPipeBind> [-Force]
[-Connection <PnPConnection>]
Example:
Similarly, in this example, I will show you how to delete the third item [ID = 3] using the PnPListItemToRecycleBin command. Follow the code below.
Connect-PnPOnline -Url https://szg52.sharepoint.com/sites/Marketing
Move-PnPListItemToRecycleBin -List "Expense Tracker" -Identity "8" -Force
Then, execute the above command by clicking the RUN button. Then, you will see the details of deleting a single Sharepoint list item in the TERMINAL, as shown below.
Finally, have a look at the below screenshot for the output.
This is how we can delete a single list item in SharePoint using PowerShell.
Delete All SharePoint List Items using PnP PowerShell
In this example, I have taken the Remove-PnPListItem command with the Batch parameter in the ForEach loop to delete all list items in SharePoint.
Also, I have used the Invoke-PnPBatch command to send the batch request to the SharePoint server. Follow the code below.
Connect-PnPOnline -Url "https://szg52.sharepoint.com/sites/Marketing"
$ListName = "Expense Tracker"
$ListItems = Get-PnPListItem -List $ListName -PageSize 500
#Clear All Items in the List
ForEach($Item in $ListItems)
{
Remove-PnPListItem -List $ListName -Identity $Item.ID -Recycle -Batch $Batch
}
#Send Batch request to the server
Invoke-PnPBatch -Batch $Batch
Then, execute the above command by clicking the RUN button. Then, you will see the details of deleting all Sharepoint list items in the TERMINAL, as shown below.
Now, have a look at the below screenshot for the output.
Output:
This is how we can delete or remove all list items in SharePoint using PnP PowerShell
SharePoint Online Get-PnP List Items
In this section, I will explain how to get all list items in SharePoint using PnP PowerShell.
In PowerShell, the Get-PnPListItem command is used to get all items from the SharePoint list. Also, we can use parameters to specify the list, fields, page size, script block, content type, include, and connection while getting items from the SharePoint list.
Syntax of the Get-PnP List Items:
Get-PnPListItem [-List] <ListPipeBind>
[-Fields <String[]>]
[-PageSize <Int32>]
[-ScriptBlock <ScriptBlock>]
[-IncludeContentType <SwitchParameter>]
[-Connection <PnPConnection>]
Where,
- Get-PnPListItem = This command is used to retrieve items from the SharePoint list
- List = This parameter specifies the SharePoint list from which you want to get items. You can provide a list name or GUID here
- Fields = This is an optional parameter. You can specify the column names to retrieve items or provide an array of column names
- PageSize = It is an optional parameter. You can specify the number of items to get per page. Use this parameter when you have more items in the SharePoint list
- ScriptBlock = This parameter is optional. It can be used to filter the items and perform custom processing, such as formatting
- IncludeContentType = We can use an optional parameter to get the content type of each item
- Connection = This optional parameter allows you to specify the PnP connection. It is useful when working with multiple connections
Example:
I have a SharePoint Online list named “Vacation Budget” that has some records or items.
Input:
Now, I would like to get all these SharePoint list items using PnP PowerShell. For that, you can use the Get-PnP List Items command and provide the SharePoint Site URL and List name, as shown below.
Connect-PnPOnline -Url "https://szg52.sharepoint.com/sites/Marketing"
Get-PnPListItem -List "Vacation Budget"
Then, execute the above command by clicking the RUN button. Then, you will get all Sharepoint list items in the TERMINAL, as shown below.
This is how we can get all Sharepoint list items using PnP PowerShell.
How to Get-PnP SharePoint List Item
In the last, I will show you how to get the specific SharePoint list item using PnP PowerShell.
Example:
Suppose you want to get the first [Item ID is = 1] item from the SharePoint Online list [Vacation Budget] using PnP PowerShell; you can use the code below.
Connect-PnPOnline -Url "https://szg52.sharepoint.com/sites/Marketing"
Get-PnPListItem -List "Vacation Budget" -Id 1
Once, execute the above command by clicking the RUN button. Then, you will get the specific Sharepoint list item in the TERMINAL, as shown below.
This way, we can work with how to get the specific SharePoint list item using PnP PowerShell.
I hope this SharePoint tutorial is useful. If you have any requirements related to how to delete all list items in SharePoint using PnP PowerShell or how to get all list items in SharePoint using PnP PowerShell, you can follow the above examples to achieve them.
You may also like:
- Get Microsoft 365 Group Members Using PowerShell
- Get and Delete a SharePoint list view using Power Automate
- SharePoint List View
- How to delete all items from a SharePoint list using Power Automate?
- Power Automate delete all files in SharePoint folder
I am Bijay a Microsoft MVP (10 times – My MVP Profile) in SharePoint and have more than 17 years of expertise in SharePoint Online Office 365, SharePoint subscription edition, and SharePoint 2019/2016/2013. Currently working in my own venture TSInfo Technologies a SharePoint development, consulting, and training company. I also run the popular SharePoint website EnjoySharePoint.com