The system metadata can be changed to any value desired using the object model. I did notice a bug that the "Created By” (aka Author) field wouldn’t update unless also the “Modified By” (aka Editor) field was set (either to a new or it’s current value).
SPListItem item = ...;
item[“Created By”] = web.EnsureUser(“luisb”).ID;
item[“Modified By”] = item[“Modified By”];
item[“Created”] = DateTime.Now.AddYears(-3);
item[“Modified”] = DateTime.Parse(“01/01/2000”);
item.UpdateOverwriteVersion();
- I could only get it to work using UpdateOverwriteVersion and not with SystemUpdate
- You can use the internal name or ID of the field if working with a different language pack/installation
- Works both on lists and libraries (not that I doubted this really)