Sometimes it’s useful to overwrite the created by and last modified by fields and get rid of that pesky ‘System Account’ !
Created By
The internal field name for the person who created a list item is ‘Author’ use SPBuiltInFieldId.Author to access this field. The display name for this field is ‘Created By’ it can be seen in the UI circled below:
Last modified
The internal field name for the person who created a list item is ‘Editor’ use SPBuiltInFieldId.Editor to access this field. The display name for this field is ‘Modified By’ it can be seen in the UI circled below:
Updating Created By, Modified By
The trick here is to call SPListItem.UpdateOverwriteVersion() instead of SPListItem.Update()
SPListItem item = list.Items[0]; item[SPBuiltInFieldId.Author] = "1;#Edward Wilde"; item[SPBuiltInFieldId.Editor] = "1;#Edward Wilde"; copiedItem.UpdateOverwriteVersion();