Delete Attachments from SharePoint List Items using PowerShell
Requirement: Delete Attachment from SharePoint List Item
How to Remove an Attachment from a List Item in SharePoint?
There is a requirement to delete all the attachments named as “xyz.presales.document.docx” from a SharePoint List where 100’s of list items already created with a lot of attachments. Attachments can be removed from a list item by doing the following:
- Navigate to the list where you want to remove attachments.
- Select the list item where attachment to be removed and click on “Edit Item” from the ribbon.
- On the Edit Item page, click the delete option next to the attachment to be deleted. Confirm the prompt.
- On the Edit Item page, click the Save button.
The attachment is deleted from the item!
Remove Attachments from SharePoint List Items using PowerShell:
This requirement can be achieved with either the SharePoint Object model or with PowerShell. Here is the script to programmatically delete the attachments based on their name.
$web=Get-SPWeb -identity "https://sharepointsite.com"
$list=$web.lists["Documents"]
foreach($item in $List.Items)
{
for($i=$item.Attachments.count-1; $i -ge 0; $i--)
{
if($item.Attachments[$i].endswith("presales.document.docx"))
{
write-host "File Deleted:" $item.Attachments[$i]
$Item.Attachments.Delete($item.Attachments[$i])
}
}
$item.update()
}