This post has already been read 8017 times!
I thought I would write this post as it seems that whilst the AppSense Profile Migration tool works great, there are some things that don’t seem to work out the box. The purpose of this is to show you how to migrate user profiles from an existing roaming profile solution / Citrix UPM / VMware Persona Management to AppSense Personalisation Server. I would just like to say that this is not the only way to achieve this as with AppSense there are normally lots of ways to achieve the same outcome. This is just the way it worked for me.
So, the scenario. You have a number of users using your Vdi / app delivery environment. You use roaming profiles and some other personalisation tools such as Citrix UPM. The users are working ok and have customised their apps just how they like them but now you have gone out and bought AppSense Environment Manager and Personalisation Server. Once you have set up all your EM Policy and got your Personalization Groups ready its time to migrate. The following will guide you through how to achieve this including migrating existing outlook signatures (had issues with this working out the box).
Log into Personalisation Server and select the Personalization Group that you wish to use for profile migration. Select the Profile Migration tab.
Click on the edit button and select the option to “Import”
Provide the path to your roaming profile share as well as the path to the AppData folders for your users. You can use environment variables to allow for different users.
Click on ok and thats it! The next time a user who is a member of this personalization group logs in AppSense will connect to the old profile and import the NTUSER.DAT Settings as well as the AppData folder.
However, there is an issue with the Outlook signatures being imported. The registry portion of the signature is taken care of but the files that actually make up the signature do not copy over.
To solve this we can use Environment Manager.
Open up your configuration that is deployed to your Servers.
Navigate to User – Logon – Pre-Desktop
Right click and add a new node.
Name this “Import Outlook Signature” or something similar.
NOTE: In this example I will use Office 2007 but you can change that to suit your deployed version of office.
With your new node highlighted. Right click in the right hand pane, select Conditions – File and Folder – Folder Exists
For the condition to check enter the path to validate that the office version in question resides on the Desktop / Server the user is connected to.
Give the condition a name and click ok.
Highlight the new condition and right click, select Conditions – File and Folder – Folder Exists again
For this condition we will check on the remote profile server that the user actually has a signature configured already on Outlook and that there is something to import.
Give the condition a name and click ok.
Highlight the new condition and right click, select Conditions – Registry – Registry Value Exists.
For this condition we are going to check for a OutlookRunOnce value. This will not exist currently but once we have copied the signature files down to the profile we will set this key. The reason for this is that we need a flag so that the import of the signature files does NOT happen at each login. If it did then any new changes the user makes to their signatures would be overwritten by the signature in their old profile.
Check for a value of HKCU\Software\CompanyName\OutlookRunOnce
Value 0 Does not exist.
At this point you should have a 3 tier check to see if the correct version of office exists, if the user has a signature to import and if they have already run the import.
Right click on the Registry check, select Action – File and Folder – Copy Folder
Set the action to copy down the signature folder from the remote profile share to the local users profile. Ensure that the action is set to run as the current user.
Right click on the Registry check, select Action – Registry – Create Key.
Set the action to create an empty key to hold the RunOnce Value.
Right click on the Registry check, select Action – Registry – Create Value.
Set the value for OutlookRunOnce to be a DWORD of 1.
Now you should have a 3 tier check to see if the correct version of office exists, if the user has a signature to import and if they have already run the import. If all these 3 conditions are met then it will import your signature files, create a Specific Key for the RunOnce Value and set the RunOnce value to 1. This will execute the initial time the user logs onto a machine with the correct version of office installed as the RunOnce key will not exist. Subsiquent times the user logs in the condition check will fail on the RunOnce value and therefore not attempt to import the files.
Save and deploy this configuration to your Desktops / Servers.
A final thing needs to be set in order for this to work correctly.
Out the box the HKCU\Software\CompanyName key will not personalize. Therefore unless you tell personalization server to save that key to the users persona then every time the user logs in the import will happen as the system will not know about the RunOnce state. To resolve this go back to personalization server.
Navigate to Personalization Settings – Windows Personalization.
Right click and select Add Windows Settings Group. Give it a name and click ok.
Click Add/Remove in Managed Items.
On the right click on Create Windows Setting
Give the Managed Item a name and put HKEY_CURRENT_USER\Software\CompanyName as a managed registry key.
Select your new managed item and click ok.
Go back to your Personalization Group and assign your new Windows Personalization to the Personalization Group.
Thats it, your users Outlook profile and signature will now migrate to the AppSense Personalization platform seamlessly.
Hope this helps some of you out. As always, please comment and share.