CSC515107. Prevent SharePoint field from deletion.
If we don't want to let the users to delete the field in SharePoint provide template with attribute
Add attribute AllowDeletion="FALSE"
to the field template.
How to delete SharePoint list column programmatically with PowerShell
#Get the Web
$web = Get-SPWeb "http://yoursite.com"
#Get the List
$list = $web.Lists["Design Documents"]
#Get the column
$column = $list.Fields["Category"]
$column.AllowDeletion = $true
$column.Sealed = $false
#To delete a SharePoint list column in PowerShell, use: $column.Delete()