In SharePoint, when an Information Management Policy is executed on an item and Expiration is enabled, and that item is deemed to be expired, then the item will not be evaluated for Expiration again at the next evaluation time.
When an item is expired, SharePoint sets a value to the following fields of the item:
_dlc_Exempt – This is set to 1
_dlc_ExpireDateSaved – A timestamp – appears to be when the item was expired
There is also the field _dlc_ExpireDate, but this does not seem to be set.
To “unexpire” an item, so that it will be processed again by the next Expiration evaluation, clear out the value of the above fields.
Hi Bernado
Precious information! I’m trying to follow this advice on a 2010 environment using powershell but am unable to update the values of the relevant fields – i can read the values and change them but when i update the list it reverts back to the original value. do you have any ideas how i can do this?
thanks
Sandra
Hi Sandra,
2010 introduces stages in the retention policy so a slightly different approach is required. Could you please try the following (in C#):
Policy.RemoveExemption(item);
item.Properties.Remove(“_dlc_ItemStageId”);
item.Properties.Remove(“ItemRetentionFormula”);
item.Update();
Policy is defined in the namespace Microsoft.Office.RecordsManagement.InformationPolicy of the Microsoft.Office.Policy.dll assembly.
Hi Bernado – thanks for your quick response. Unfortunately i don’t have access to use visual studio or c# – hence the powershell stuff. i was effectively doing what you say above in ps except the RemoveExemption thing – i was unable to use powershell to remove the properties you list as i tried that already. So these Retention properties all seem to be readonly an i can’t update them in any way using powershell??
Sandra
Hi Sandra,
What works in C# should work in PowerShell. I had the C# code handy and not the PowerShell version – that’s why I commented with the C# version. Can I have a look at the PowerShell code that you used?
Hi Bernado – the problem must have been in my powershell session. i created a new (clean) script to send to you and this time it worked. what a waste of time i spent trying to debug that! Thanks so much for your time and responses and your post is a life-saver
Hello, any idea how to do this in SP2013?