Content Approval: Approve All List Items in Bulk using PowerShell

When content approval is turned-ON, approving items one by one could be hectic. To bulk approve items, We can utilize PowerShell. Here is my PowerShell script to bulk approve items pending for content approval.

This was a huge time savor for me during a migration project.

PowerShell script to approve List items in Bulk:

Add-PSSnapin Microsoft.SharePoint.PowerShell -ErrorAction SilentlyContinue

#Site URL and List Name variables

#Get all List Items
$ListItems= (Get-SPWeb $WebURL).Lists[$ListName].Items

#Iterate through each item
foreach($Item in $ListItems)
    #Approve Item
    $item["_ModerationStatus"] = "0" #1 to reject
    #Update the item
write-host "Total Items Approved:"$ListItems.Count

This PowerShell script simply loops through all items in the given list and Approves them by setting the Approval Status field (Internal name is “_ModerationStatus”).

approve items using powershell

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!

One thought on “Content Approval: Approve All List Items in Bulk using PowerShell

  • January 30, 2020 at 8:15 AM

    wonderful, thanks so much for this!


Leave a Reply