Reprofiler
A tool for manipulating userprofiles on Windows 2000, Server 2003, XP, Vista ,Server 2008 and Windows 7.
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.
Usage:
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.
The upper pane shows a list of users. If the computer is a
domain-member these will be subdivided into two groups, local users and
domain users. For a standalone computer, there will be just the local
group.
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. (If you're not sure what a SID is, don't worry.)
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 always applies to the selected item in the
profile (lower) pane. 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.
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.
Exit: Leave the program without making any further changes. (Same as top-right X)
What Assign does:
The program checks to see if the user has logged-on previously, or
if
its a first-time logon. If the latter, and Windows Vista or 7 is
in-use, you will be asked for the
password, so that the account can be initialised. This initialisation
step is important, since without it the account would be reassigned at
next logon, losing the association. Windows XP uses
different profile-creation logic, and here this step generally is not
necessary.
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:
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.
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.
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.
Dependencies:
SetACL.exe by Helge Klein is required for correct operation. SetACL and
its sourcecode may be downloaded from the author's site, or from
Sourceforge.net. SetACL is released under the GPL.
Previous Version
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.
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.