iconReprofiler

A tool for manipulating userprofiles on Microsoft Windows XP/Vista/7/8/10 and most server editions.

A common issue encountered with all recent Windows versions is the unexplained loss of access to a user's data and settings.

This can happen for a number of reasons:

  • A disk error
  • Joining the computer to a domain
  • Disjoining the computer from a domain
  • Transfer of data to a new computer
  • Filesystem-permissions issues.
  • A change of username.

In most such circumstances, the problem arises because Windows no longer recognises the profile as belonging to its user. What will happen in this case is that the next time the user logs-on, a fresh, empty profile will be created, named 'user.domain' or 'user.computer' instead of just 'user' -and from that point on, the new profile will be used instead of the correct one.

It is possible to correct this type of problem manually, but this involves editing the registry and adjusting permissions, tasks which are painstaking and time-consuming, and are probably beyond the skill-level of the average user.  

Reprofiler offers a quick and easy way to see which profile is associated with which user. If a problem is evident, it then provides an intuitive and straightforward means of correcting the profile ownership.

 Information:

The User Accounts pane gives:

  • Host: The computer holding the account information. This is typically either the this computer running Reprofiler, or a fileserver.
  • User: The username in human-readable form.
  • ** Contains flags indicating whether the account is an Administrator, and whether it is presently logged-on and active.
  • Assigned Folder indicates the exiting userprofile, if one is attached.
  • SID shows the computer's idea of what the user is called. This is in the form of a GUID or randomly-assigned unique identifier.

The Profile Folders pane lists the profile folders present under C:\Users, and the users assigned to each.

Usage:

An installer is available for those who prefer that arrangement, however there is no specific need to install the program, since it is essentially portable code.  The installer places shortcuts on the desktop, and in Programs\Maintenance.

The zipped version of ReProfiler needs no installation. Just extract the zipfile contents to any suitable folder and launch ReProfiler.exe from Explorer or a commandprompt. In order to make changes, ReProfiler must be run under an account with administrative priveleges. If this is not the case you will be prompted to take appropriate action to correct it. Preferably you should restart the computer and log on with the real Administrator account. If you cannot do so, then on Windows 7/8 it is possible to 'elevate' your ordinary user account to an administrator. However, this method of working should be considered second best as it may give rise to some issues due to files being already open under the ordinary account.

Tip: When we say 'Run as Administrator' we don't mean the right-click option on shortcuts.That is effectively the same as account elevation,a nd it just promotes your regular account to having greater priveleges. Since you are still running under your own account, you are likely to run into trouble if you try to reprofile it that way.  (This in terms of lifting yourself by your bootlaces and you see why it's unlikely to work..)  What we advise is, activating the real Administrator account, restarting the computer and logging on from scratch with that account. See this page for instructions.

If your computer is an Active Directory domain member, then you should run ReProfiler under a domain account rather than a local account, as doing so will provide you with domain user listings as well as local users. The domain account needs local Administrator priveleges (to this computer) but need not be a Domain Admins member account. If you are at all uncertain about this aspect, ask your IT administrator for advice before proceeding.

There will be a short delay on startup as the system is scanned for useraccounts and profiles. The main window should then appear,as shown.

Where the userbase is very large, say over a thousand accounts, the time taken to scan these accounts will be considerable. Please be patient. In v2, the amount of information gathered on each account is reduced after 30 to 100 accounts, in order to speed up this process.

The upper pane shows a list of users. If the computer is a domain-member and ReProfiler is running under a domain account, these will be subdivided into two groups, local users and domain users. For a standalone computer, there will be just the local group.

The '**' column is a field for various indicator flags. It contains A for adminstrative users, and X for accounts which are currently logged on or active, on this computer.

For each user, the 'Assigned Folder' indicates where, on disk, that user's profile is being stored. Typically this will be a folder within 'C:\Documents and Settings' for XP, or 'C:\Users' for Vista/7.

Scrolling to the right will reveal that user's SID, should that information be needed.

The lower pane lists the subfolders found inside to profile-root folder, which as we've mentioned is typically 'C:\Documents and Settings' for XP, or 'C:\Users' for Vista/7. It then shows the users which have been assigned to each profile, in the form 'logon_domain\username' (For a standalone computer the logon_domain will be the name of the computer itself)

Correcting a problem:

If it is obvious that something is amiss -such as a user having a assigned folder called 'username.000' whilst a 'username' folder also exists- then, having decided which folder is the correct one, highlight both the user in the top pane, and the folder in the lower pane. Press Assign, and check that the confirmation-message agrees with what you want done. The process of reassignment will typically take 15-30 seconds, and you may see four black rectangles (console windows) appear whilst this happens. Once completed the list should self-refresh to indicate the new assignments.

Controls:

Properties: This button gives information on the selected user and profile folder. The information such as disk space and last-used date may be of help in deciding which profile is a genuine one containing data, or a blank one.

Assign: Performs several actions which, when combined, attach a profile to an account. Before pressing Assign you should select a user and profile by single-cliking one of each in the two lists.

Refresh Views: On smaller systems the Assign action automatically refreshes the userlist, so you need not press this button. When the usercount is more than 100, the auto refresh is inhibited and refreshing must be performed manually. It's done like this so you can update several profiles on a large system without having to wait for a refresh between each. Note that in such cases you will not see your changes reflected in the user and profile windows until you manually refresh.

System Accounts: Check the tickbox between the user and profile lists if you wish to see the system-generated accounts and profiles. Normally these will not need touching, but the facility is there if needed.

Detach: Allows you to break the association between a user and the profile. What will happen here is that at next logon the user will be treated as a new account by the system, and will automatically be issued with a fresh profile based on the Default User profile's settings. This may be convenient if you wish to default the computer's settings whilst retaining the same accountname.

Delete: As it says on the tin. This deletes the profile-folder and all its contents. Only do this if you are sure the folder contains no wanted data. It does not delete the useraccount.

Be aware that the effect of deleting a profile folder differs markedly between Windows XP and Vista-based releases. On XP, the user will automatically be assigned a new copy of the Default profile at next logon. On Vista/7 the user will be given a temporary profile, which is probably not what you want. Therefore, on Vista/7 ensure that an account is attached to a serviceable profile folder before deleting an unneeded one. If you don't do so the only recourse may be to delete the useraccount in Control Panel and recreate it from scratch.

Future releases may contain an option to create a fresh copy of the Default profile, to overcome this issue. For the moment just be aware that this rather illogical behaviour is a 'feature' of Vista/7.

Test: Select a user in the top pane before pressing Test. The lower pane's Profile selection is unimportant. Enter the user's password, and a test logon will be performed. Note that if you test whose profile is already active, there may be some delay whilst a temporary profile is created. During this time, Reprofiler may be unresponsive.

Help: This loads the ReProfiler webpage (which you are now viewing) in your browser.

Exit: Leave the program without making any further changes. (Same as top-right X)

What Assign does:

Firstly, several checks are made for common problem conditions such as the assignment of a temporary profile, and automated fixes are applied where appropriate. As of 1.0 questions are not asked if the fix is straightforward and the effect would always be desirable.

This completed, the program looks-up the user's SID. It then modifies the registry ProfileImagePath variable under the appropriate account SID to point at the required profile. It then changes the ownership of the profile contents, and assigns the new owner as a trustee of its folder. Finally, it assigns trusteeship to the user's registry hive (NTUSER.DAT) and to the user Classes hive.

Notes and Warnings:

Dual-use profiles: No explicit restrictions are imposed on assigning two or more users to the same profile. Some discretion should be exercised in doing this. In some cases this may be desired, for example to allow a domain user and a standalone user to share the same settings. However, please be aware that this situation is not officially supported by Microsoft, and care should be taken to ensure that two accounts which share a profile are never simultaneously active.  A point to note here is that logging-off a user does not necessarily close all open files in the profile. The only reliable way to ensure this has been done is to restart the computer.

Roaming profiles: Where these are in use, some caution should be exercised over reassigning local profile folders. Ideally you should ensure that either the new local folder or the server folder is empty before assigning the local folder to a roaming profile. Otherwise, the contents of the two folders wil be merged at next logon when the local profile resyncs with the server copy. This will take place on the basis of 'latest displaces older' therefore you may end-up with a mix of contents from the local and remote profile copies. Thsi is almost certainly not what you want to happen, and once it has happened it will be hard to undo. Therefore, think carefully and make backups of local and server profile copies before reassigning local copies of roaming profiles!

Renaming folders: It is inadvisable to rename a profile folder. This is because the profile's registry may contain absolute references to data within it. In principle this is a problem which shouldn't arise; good programming practice dictates that all references to profile content should be relative to the profile. However, not all programmers adhere to these guidelines, hence no assumptions should be made. If you do rename a profile folder, you may find that data is still being saved to the old location, and since that may result in the data being excluded from any future backup of your profile, it could result in its loss.  

Active Users: If you try to change the logged-on user's profile, you will receive a warning. If you proceed and then attempt to run other software under that user without rebooting, the results may include various kinds of trouble! Therefore if you wish to reassign the profile in-use, log off and change to an unrelated account, then attempt the change.  Or, if you are brave, reassign the profile and then immediately reboot.

Compatibility: Reprofiler is a 32-bit app. It is suitable for 32-bit or 64-bit platforms. A 64-bit release could be coded if there is a demand, however it would not offer any significant advantage.

Windows 2000 and earlier are no longer officially supported. Reprofiler may very well work on those platforms, but in view of the sheer number of Windows configurations on which testing is needed it's been decided to skip testing on those which are no longer widely used. Windows XP is likely to be supported for the forseeable future, owing to its still being the de facto desktop OS in most business premises. Brief but not exhaustive tests have so far been carried out on Windows 8, 64-bit release.

Windows 10 use is presently limited to reattaching profiles which have become separated from their users. We're working on a full-featured Windows10 version.

I also apologise that testing has only been done on English language Windows. Unfortunately as a small outfit we simply don't have the resources to do multilingual testing. Anyone aware of problems in this area is welcome to raise them with us.

Dependencies:

SetACL is a required dependency. SetACL.exe is included in the ReProfiler zipfile, so no action on your part is needed other than to fully extract the zipfile contents to a suitable folder before launching ReProfiler. Author Helge Klein has decided to make the latest version of SetACL closed source, and to remove the Sourceforge downloads of LGPL releases. Therefore, to comply with the (L)GPL licensing requirement of source being available, the sourcecode of the release used by ReProfiler may be downloaded here.

Download:

Executable and sourcecode are available from the local download link. They are no longer on Sourceforge.

Legal:

As ever, you use this system-level utility entirely at your own risk. Various forms of disaster are not excluded from the list of possible outcomes of its incorrect use. Or, even of its correct use.

This software may be duplicated any number of times, and used in private or commercial IT operations. The software may not be sold for profit in any shape or form. Third-party websites and P2P hosts may offer copies for download so long as these conditions are met.

The sourcecode and executables of this software are released under the GNU Public Licence, version 3. Icons and other graphics remain the intellectual property of IWR Consultancy, and may not be used in derivative works without permission.

Thanks are due to the members of the AutoIt coding team at autoitscript.com for the programming language itself, and to various contributors for the library routines which have saved a great deal of work.

It is not necessary to supply sourcecode with every downloaded copy, so long as a link to the publisher's website is included in some form or other at the download location.