As a salesforce administrator or manager, it is always painful to deploy profile changes across multiple sandboxes because of the manual configurations we need to do in each org and the nature of profile settings not carried by salesforce in changesets. If you are using changesets in your org, here is a quick way for you to deploy profiles.
1. Add the profiles to your changeset
First identify all your profiles and add them to your changeset.
2.Settings which would be transferred automatically in changeset
If you have changed the below settings in your profiles, they would be automatically transferred with the changeset.
Login IP Ranges
General User Permissions
Record Type Settings
Custom App Settings
3. Settings which would need additional components to be added to your changeset
For the below components, you would need to add additional components in your changeset.
1. If you have changed or added visual force pages to the profile, make sure you add all the visual force pages in the changeset.
2. If you have added apex classes to the changeset or removed them, add all the apex classes to the changeset.
3 . If you have made custom object permissions like read, edit or delete, you would need to add all custom objects to the changeset.
4. If you have made field level security changes to custom objects, ensure that all the custom fields are added to the changeset.
4. Dreaded Manual settings in your destination org.
Once you have the changeset buit with all the components, you would have to manually add the following components on your destination org .
a. tab settings
b. custom tab settings
c. Standard object permissions.
so by following the above steps, you can quickly deploy profile settings to any org. I have attached a tool which would help you to quickly guide you through the implementation steps. Please click like if you like my answer and feel free to post your comments to firstname.lastname@example.org.
Download your checklist guide ProfileSettingsDeployment