I often have customer requesting changing properties, like the version history setting on all document libraries on all existing sites on a farm.
So far the best solution I have been able to think of is to script it in Powershell, test the script before I run it, and then pray that I have not overlooked something critical. Is there a better and safer way?
My personal ‘customization workflow’ is as follows:
It’s a lot heavier than ‘run script on prod server,’ but if you’re looking for a ‘better’ way to push in customizations, this is the proper way to do it in SharePoint. SharePoint’s Feature and Solution frameworks are designed for this scenario.
And yes I use PowerShell heavily for prototyping/object spelunking.
EDIT: I didn’t mention, but you need to have a disaster recovery plan that revives all your customizations. This is where it starts to get crazy, depending on which customizations you’ve made. In your example above, the content database stores the data, but other customizations aren’t as easy to restore in a DR situation, notably with the SSP and farm-level customizations stored in the config db, or if you’ve modified the web.config or the IIS metabase.