Greg Reddick is a noted speaker, author, and software engineer. This blog covers all aspects of programming, particularly for Windows, and other related topics.

2011-04-26

Fixing when Windows SBS Doesn't Show Account to Transfer

I have struggled for a few days trying to get the Windows Small Business Server 2008 connect launcher.exe program to show an existing account in the "Move existing user data and settings" page of the wizard. I tried everything I could think of to determine what was different about the account that was being listed and the account that wasn't. There are lots of questions being asked about this on the web with no answers that worked for me. (There's a long and uninteresting story involving an ID-10-T who works for the Microsoft Company Store on why I'm solving SBS2008 problems when 2011 is shipping now...I don't know if this problem also occurs in SBS2011 UPDATE: It does.)

All of the properties of the accounts were the same. Both had entries in the registry that were identical. I looked at the files that they opened using the SysInternals procmon program. I looked at the network traffic that the launcher program generated using Microsoft Network Monitor 3.4.

Procmon clued me in that there were some log files being generated. They are found in C:\Program Files\Windows Small Business Server\Logs. (C:\ProgramData\Microsoft\WSSG\Logs\ in SBS2011.)

Here's the deal. Launcher downloads an executable called connectcomputer.exe and runs it. Connectcomputer does a huge amount of stuff. I'm not sure it needs to do all that--it has the distinct feel of having been written by an intern. One of the things it does is enumerates your user profile directory and checks every file. If any file in the entire directory tree is not accessible by it, or it runs into any problems with anything, it won't list that account.

I opened connectcomputer.log in notepad and searched for the account that was missing. It showed an exception. For some reason, there was a recursive reparse point to a directory in my c:\users\myacct\appdata\local\application data directory that looped back to the same directory. A reparsepoint is a fake directory that links to another real directory on the drive. So I (and connectcomputer) could both cd into the "application data" directory forever until the filename became too long and it threw an error. Thus it was finding "c:\users\myacct\appdata\local\application data\application data\application data..." etc. By the way, this will not show up in the Windows Explorer, but does show up in the command line. How this reparse point got created is a mystery...maybe having to do with the account being originally created in Windows XP.

The next trick is removing a reparse point. I had a clue about that, and it just took poking around a little to find it. There is a nifty command line tool that comes with Windows called fsutil. It allows mucking with NTFS from the command line. First you must cd to the the directory that has the bad reparse point. The magic command line that fixed my problem is:

I then deleted the log files and reran launcher. This time it complained that it couldn't read from another directory. That directory wasn't important to me, so I just deleted it. Having fixed all the problems that the log file complained about, my account showed up in the "Move existing user data and settings" list!

6 comments
:

Thank you greg!! you have find the right way to solve this problem, effectively it happen also in SBS 2011 ! i had this probleme in windows 7, when i checked the log i saw, an avast folder that block connect computer wizard, i just deleted the problem folder and thats it again thanks for the time that you spent resolving this problem!I am wondering if we can add users profiles belonging to an old domain controller ?

Thank you for your work in figuring this out. I have run into this problem a number of times and thought that my only recourse was to migrate the user's profile manually. The wizard certainly makes that task easier.