Saturday, March 30, 2013

Migrating user profile with Outlook 2010

You want to migrate user profile with Outlook 2010 and restore it completely on another PC?

I would like to share my tip how to save a lot of hassle.

We will use great Windows built-in Windows Easy Transfer tool.


1. Download this hotfix for Office 2010 update for USMT:

You will be prompted for destination email to receive a download link and captcha. 

2. Extract the .CAB and you will get the content:

What we need is only the file migapp.xml. In fact, this is the file which directs MigWiz.exe (Windows Easy Transfer Migration wizard) what to migrate with all the registry settings and data files. 

Notice the file size: 609 KB.

In the time of release of Windows 7 there was only Office 2007. That´s the only reason why Windows Easy Transfer can´t see your Outlook 2010, because there is not a single line about it in migapp.xml. Simple, isn´t it?

Investigate to folder C:\Windows\system32\migwiz:

Notice the file size: 544 KB.

If you compare the both files, you will notice that it is really the same file for MigWiz navigation, but the extracted one is bigger, and has newer instructions - and yes, the lucky one for Office 2010!

3. Take ownership and replace.

The main task is to replace MigApp.xml in C:\Windows\system32\migwiz with the extracted one. You need to take ownership first, because it is a system file (don´t worry, MigApp.xml is just text file for profile settings and registry migration navigation).

After you take ownership, add yourself correct rights for replacing the file. 

Replace the file.

4. Run MigWiz.exe (Windows Easy Transfer) and you will be pleased with migration settings for Outlook 2010 (Office 2010):

Windows Easy Transfer with original MigApp.xml

Windows Easy Transfer with updated MigApp.xml

What is migrated?

Whole user Outlook profile as is:
PST archives
Database of last typed addresses (formerly NK2, in Outlook 2010 RoamCache stream)
Everything else configured in Outlook 2010

This solution is confirmed by my usage on daily basis. New MigWiz files are designated for USMT (User State Migration Tool Server or System Center products), but you can use the provided MigApp.xml for just client user profile migrations. Its a pitty that Microsoft has not published this as an update for Windows 7.

For Windows XP users: Whole procedure remains same, you need only to update Windows Easy Transfer to Windows 7 version. You can download it from Microsoft:

If you are performing user profile migrations on a regular basis in your production network, taking ownership and replacing the MigApp.xml can be a little cumbersome. I have a good tip: Make a virtual machine with updated MigApp.xml, and use it as a middleman in your user profile migration process. (You need to have updated MigApp.xml file just on one of the PCs when migrating)

If you are using Google App Sync for your Outlook 2010 setup with Google Apps, I can tell you one more good thing - the Apps Sync Outlook profile remains configured on migrated profile. You should only have Google Apps Sync installed on new PC before starting migration. 

Update: I am working on easy 2-click solution right now.

Isolated Lab in Hyper-V

From the time I started to use Windows 8 as my production OS, I adopted Hyper-V as my main virtualization platform for testing. The plus is low demand on CPU and RAM and some nice features. Last month I finally decided to move my Lab testing environment to my new company PC.

I was trying to figure out for the first time isolation from my production network - until now I had my Lab at home, so no isolation was needed.

I wondered how to achieve this because Hyper-V doesn´t have rich networking options like VirtualBox or VMware Workstation.

The solution came after I found this great post:

I can confirm that this solution works flawlessly. Virtual router does the job. All you need to do is follow the steps, and especially be careful with connecting network adapters!

If you want to save you some time, I have correctly prepared VHD. All I have done is that I created VHD and applied DD-WRT router image into it. 
You can download it here.

MD5 checksum for the VHD:
d06163b4b44fe1f476b26314ba2e58f4 *BLUBERIX-ROUTER.vhd

Then just go on with configuring Virtual machine. One difference in my setup is that I use PRIVATE network instead of INTERNAL. I don´t want virtual machines to communicate with my host.

After starting up, connect another Virtual machine to PRIVATE network, type into browser and router will welcome you with prompt for your own login:

Friday, March 8, 2013

All come to Hypervisor (VirtualBox vs Hyper-V vs VMware)

For years, I was using VirtualBox as a best virtualization platform for my Lab testing environment. Thanks to its speed and ease of use, I deployed most of settings in my work infrastructure. 

Last time I had an issue with my SCCM 2012 SP1 Lab, that I needed to migrate whole Lab to different hypervisor. 

I migrated my Lab to VMware Workstation, and everything works as expected. Strange. This is only major advantage of VMware - high compatibility, everything works here just fine, but ergonomics and speed are frustrating. 


When I switch between host and guests, I need to constantly press Ctrl + Alt. Constantly! Until the VMware Tools are loaded in guest OS, clicking into guest machine will lock your input there. So you need to wait until VMware Tools start up in guest OS. When VirtualBox or Hyper-V virtual machine window is active, you don´t need to click into machine. You just type on keyboard and input is captured. For example boot from lan - I need just to press F12. I switch to VirtualBox/Hyper-V window, and start typing what I need. In VMware, I am forced to click into virtual machine and I am locked in! So here is the biggest pain - I need constantly unlock my input from VMware guest by pressing Ctrl+Alt. Is it so impossible to make an implementation of immediate capturing input in active window?

And also the fact that virtual machines windows are not separated is iritating. Why VMware? 


The biggest problem of VMware Workstation is - that it is so sloooooow. 

Well, in fact I needed to buy an SSD to achieve same speed in VMware as with HDD in VirtualBox! Is it worth of money? Sure it is not! I was in situation that after upgrading my System Center Lab to SP1, PXE deployments of OSes started to freeze VirtualBox client machines randomly in progress. No solution yet. Without SP1 this worked flawlessly. 

The virtualization market nowadays is in different condition when it was for last couple of years. The competitors are really promising. As VMware is focused mainly on virtualization, their products should not be backward behind competitors. 

Finally, I tried Hyper-V on my Windows 8 production machine, and this seems to be compromise. I migrated again my lab machines this time to Hyper-V. PXE does work as expected. No problems at all. Hyper-V seems to have lowest CPU/RAM demands. I/O operations are not as fast as in VirtualBox, but they are good and satisfactory. 

Below is a simple chart of desktop virtualization products from the my point of view, as I create and work with virtual machines daily.*

I made many speed and performance tests on these platforms, so in time I will post here some more posts with real and accurate numbers, how the hypervisors perform. 

*This is only my personal view on hypervisors and is based on my long time daily experience and HW I use.

Faster local administrator logon on domain PC

Ever disgusted by logging as local administrator on Windows 7 domain machines?

You know it. You want to log on locally as Administrator and you don´t know PC name - you needed to click "Switch user", than "Other user", and then "how do I log on to another domain" and here you go - you know the name! Then you could log on with memorizing this name as PC-name\Administrator.

 Recently when I was building my Windows Deployment Server config xml I accidentally found that there is a simple way how to workaround this:

Simply write dot + slash and here you go! Yes, .\ will turn your logon domain to local PC name. Dot "." is often used as a substitute for localhost on webservers and other systems, but I never wondered I can use it on my Windows machines this way.

Microsoft please tell this publicly! This saves a lot of time.