Modifying Default User Profile with Registry Edits

I'm currently working on a VDI (Virtual Desktop Infrastructure) deployment at my work, We are currently using VMware View 5.0. The Deployment is going well, and overall im impressed with the linked clone technology and fast provisioning of desktops.

It's something of a wonder that with a click of a button, I can have a desktop ready for the end user.

But, like any solution there is always a snag that, we as IT professionals, need to overcome in order to fully deploy the solution. This came with a certain CRM program (TigerPaw) and when a new user profile is created on the Virtual Machine.

By default, when a new user logs onto a system, a small setup is required to connect the program to the SQL backend. Giving this task to the end user is totally unacceptable, and kinda kills that mentality of the push and go solution VMware View promises.

Recent Databases not populated with any SQL databases when logging into a computer for the first time.

Recent Databases not populated with any SQL databases when logging into a computer for the first time.

I noticed that the settings for the application is not saved in the user's profile, but in the user's Registry HIVE.

So my goal is to have the system automatically configure itself through registry edits without IT Support intervention.

WARNING

Before I get into the big details on how to do this, I just want to mention that this configuration has no guarauntee, and is given  AS IS. You SHOULD BACKUP FIRST before modifying anything on your systems. And I can't be held responsible if something happens to your system during the configuration. Try and configure a lab first before going into production!

Background on HKEY_CURRENT_USER

When a new user logs onto a system, it copies everything from the "Default" user (c:\Users\Default) to the new profile. In this defualt user is the registry hive NTUSER.DAT

We can actually load this hive and do as many modifications as we can, and then unload it and log a new user.

How to do it

Open the registry Editor by going to Start and typing in REGEDIT:

Opening Regedit

Opening Regedit

This will open the registry editor, now select HKEY_LOCAL_MACHINE, then go to File -> Load Hive...

Loading a Hive

Loading a Hive

Now go to c:\Users\Default and select NTUSER.DAT (If you don't see NTUSER.dat, make sure you can see hidden and system protected files in the folder options)

Transient

In the key name, type TEMP

Transient

The hive will load, and as you can see, its almost the same as what is used on the current user:

Transient

Now for my current situation, I need to add the keys "Tigerpaw Software" and "TigerpawV11" in "Software", and add the values that will point the user automatically to the proper SQL server:

Transient

IMPORTANT: Make sure you unload the TEMP HIVE, otherwise the user profile service may hate it., and not load new user profiles.

Transient

Now when a new user logs in, they will grab these settings. Now there is less overhead in user setup. The dream of that one click end user deployment is now closer than ever.

User Profile Screen before user logs in

User Profile Screen before user logs in

Logging in as the new user

Logging in as the new user

The TigerPaw Registry edits have been pushed to the new user profile.

The TigerPaw Registry edits have been pushed to the new user profile.

Now I have a pre-populated SQL configuration!

Now I have a pre-populated SQL configuration!