Managing User Profiles Your Way
Better methods for managing user profiles en masse. Plus, an SBS problem.
- By Bill Boswell
- 03/23/2004
Last
week's column contained a question about moving 70+ profiles from
one terminal server to another. I suggested a combination of
xcopy
/o and a Registry hack for the ProfileList entry, but I asked for
better ideas. I got quite a few.
Several respondents suggested alternatives to the basic copy-and-hack
formula that I used. Michael G. likes Robocopy from the Windows 2003 Resource
Kit. Tami F. suggested Ntbackup. Mike H. prefers Secure Copy from Script
Logic. Both Salvatore D. and Chad H. use the Copy Profile option in
System Properties. Mike M., Bob M., Charlie S., and Antje R., and Michael
W. provided different ways to overwrite the default profile on the new
server with the correct profile to avoid the Registry hack. Chris J. uses
a Registry hack that changes the name of the ProfileList path to point
at the copied profile folder after the user logs in.
Michael A. suggests using the Terminal Services profile path entry in
Active Directory that points at a share containing the original profile,
lets users log on to get a local copy of the profile, then changes the
path back to the default. All these suggestions work, but some involve
quite a bit of interaction with users. Not that I don't love working directly
with users, mind you! Still, there are only so many hours in a day.
Several respondentsScott K., Jeff S., Jeff B., and Chris B.are
very happy using central, roaming profiles. Several of them point out
that deleting the local copy of the roaming profile at logoff prevents
building up a huge scrap heap of discarded profiles. I can attest from
personal experience to the negative impact of these old profiles. I once
had a terminal server refuse to boot because the buildup of profiles had
fragmented the boot drive so badly that the Master File Table (MFT) was
broken into over 12,000 fragments and would not load during boot time.
Get
Help from Bill |
Got a Windows or Exchange question or need troubleshooting
help? Or maybe you want a better explanation than provided
in the manuals? Describe your dilemma in an e-mail
to Bill at mailto:[email protected];
the best questions get answered in this column.
When you send your questions, please include your
full first and last name, location, certifications (if
any) with your message. (If you prefer to remain anonymous,
specify this in your message but submit the requested
information for verification purposes.)
|
|
|
Tom K. sent a four-page document describing exactly how to perform a
profile transfer. We'll post it on MCPmag.com in this column as
soon as we get Tom's permission.
I got a couple of suggestions for third-party products. Doug P. sang
praises for the profile migration features in LANDesk
and reminded me that SMS and Altiris
have similar features. Darshan A. likes Policy Maker by AutoProf
and included several cautions against leaving user data on terminal servers.
I echo his sentiments.
Jim Y. reminded me about the File
and Settings Transfer Wizard in the
User State Migration Tool, a utility ideally suited for this kind
of work. Marc T. also likes the USMT suite and included this logon script
entry to copy the profile. Here's his recipe:
Create a batch file with this line:
scanstate /I miguser.inf /I migsys.ing /I sysfiles.inf
d:\profiledata\%username%
to collect profile data in the d:\profiledata\%username% directories
for each user. Just make sure to create these empty directories in advance.
Then go to the 2003 server and logged in as an administrator run this
batch for each user:
loadstate /I miguser.inf /I migsys.ing /I sysfiles.inf
\\server\profiledata\%username%
Chris W. send along a batch file that he has used to move thousands of
profiles. It's very nifty. Here is his recipe:
First, get the list of users and their profile directories from the Documents
and Settings folder (or wherever you decided to store the profiles) into
a flat file using:
DIR /AD /B > users.txt
Then, in a batch script, use the following batch file, which incorporates
a FOR loop and the TSPROF utility:
net use \\old\location X:
net use \\new\location Z:
FOR /F %%d (users.txt) DO XCOPY /E /I /O X:\%%d Z:\%%d
& TSPROF /UPDATE /DOMAIN:ACME /PROFILE:\\new\location\%%d %%d
net use X: /DELETE
net use Z: /DELETE
Finally, I really appreciated the suggestion from Stuart M. and Marty
C., who pointed out that Microsoft has just released a new Copy Profile
utility that does exactly what the reader wants to do. The Copy Profile
utility is available as a free download from www.microsoft.com/downloads/
details.aspx?FamilyID=ed182a96-f3a6-4fdd-862b-1ae03dc130c1&DisplayLang=en.
Thanks to everyone who sent ideas and suggestions. If you sent something
and you don't see your name, I offer my apologies. Send me an e-mail and
I'll make it up to you.
SBS Patch
I've gotten several questions from Small Business Server 2003 users concerning
the frequent appearance of Event 8331 from service MSExchangeAL with the
following description:
The service threw an unexpected exception which was caught
at f:\titanium\dsa\src\lra\abv_dg\lservagent.cpp(4511)
(Path and file name may differ.)
This error appears to be benign, but just in case you don't want to wait
around for Exchange Server 2003 SP1 to get rid of the annoyance, Microsoft
has just released a patch for this problem. Call Product Support Services
(PSS) and ask for Hotfix 837444.
Keep those questions and suggestions coming in and hope this helps!
About the Author
Contributing Editor Bill Boswell, MCSE, is the principal of Bill Boswell Consulting, Inc. He's the author of Inside Windows Server 2003 and Learning Exchange Server 2003 both from Addison Wesley. Bill is also Redmond magazine's "Windows Insider" columnist and a speaker at MCP Magazine's TechMentor Conferences.