Managing User Profiles Your Way

Better methods for managing user profiles en masse. Plus, an SBS problem.

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 respondents—Scott 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:boswell@101com.com; 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.

comments powered by Disqus

Reader Comments:

Fri, Jun 2, 2006 Anonymous Anonymous

Wide variety of possibilities

Fri, Mar 24, 2006 daniel costello

THanks

Wed, Dec 29, 2004 Anonymous Anonymous

Searching around for a resource to do this... this article both confirmed the validity of my approach -- but also offered techniques that I hadn't considered that were probably simpler and/or better. Thanks!

Fri, Dec 17, 2004 Anonymous Anonymous

good

Mon, Mar 29, 2004 Rick Newton Hamilton, ON

Re: SBS Patch...

Bill, the SBS error may not be as benign as mentioned. When this error appears in the event log, the error persists until such time as all the Exchange services are stopped and started, chewing up valuable CPU time at the very least. Additionally, I've noted that when this error appears (no obvious reason for why it starts to occur -- usually it occurs overnight when there are no users, only server backups [with an Exchange component]) the addressbook update functionality fails (without any error) to update the Global Address Book and the Off-line Global Address Book. In fact this is how I first found the error -- adding a new user with an Exchange account, and noting that hours later their was no mailbox. I checked the event logs, found nothing directly related to the non-creation fo the mailbox, but forund a screen or more of the aforementioned (4511) error. Stopping and starting the Exchange services eliminated the error, and then forcing an update of the Address books solved the non-creation problem. The "4511" error appears almost monthly, with the same steps stopping the error, temporarily (for a month) from occurring continuously.
So, thank you for the information on the patch, I'll be speaking to PSS shortly about the hotfix!

And not to miss the "core" portion of the article -- I'd like to see the various methods briefly discussed "fleshed out" as not only will one method perhaps be "the way you waqnt to do it," but in some cases one method may work when another cannto due to assumptions about the current and future configurations of the servers/domain/network.

Thanks again for the information!

Rick Newton (MCSE NT 4.0),
Administration, Information Technology
Herpers Chagani Gowling, Inc. (310DEBT)
300 - 4 Hughson Street South
Hamilton, ON L8N 3Z1
Canada

Mon, Mar 29, 2004 Rick Newton Hamilton, ON

Re: SBS Patch...

Bill, the SBS error may not be as benign as mentioned. When this error appears in the event log, the error persists until such time as all the Exchange services are stopped and started, chewing up valuable CPU time at the very least. Additionally, I've noted that when this error appears (no obvious reason for why it starts to occur -- usually it occurs overnight when there are no users, only server backups [with an Exchange component]) the addressbook update functionality fails (without any error) to update the Global Address Book and the Off-line Global Address Book. In fact this is how I first found the error -- adding a new user with an Exchange account, and noting that hours later their was no mailbox. I checked the event logs, found nothing directly related to the non-creation fo the mailbox, but forund a screen or more of the aforementioned (4511) error. Stopping and starting the Exchange services eliminated the error, and then forcing an update of the Address books solved the non-creation problem. The "4511" error appears almost monthly, with the same steps stopping the error, temporarily (for a month) from occurring continuously.
So, thank you for the information on the patch, I'll be speaking to PSS shortly about the hotfix!

And not to miss the "core" portion of the article -- I'd like to see the various methods briefly discussed "fleshed out" as not only will one method perhaps be "the way you waqnt to do it," but in some cases one method may work when another cannto due to assumptions about the current and future configurations of the servers/domain/network.

Thanks again for the information!

Rick Newton (MCSE NT 4.0),
Administration, Information Technology
Herpers Chagani Gowling, Inc. (310DEBT)
300 - 4 Hughson Street South
Hamilton, ON L8N 3Z1
Canada

Mon, Mar 29, 2004 Rick Newton Hamilton, ON

Re: SBS Patch...

Bill, the SBS error may not be as benign as mentioned. When this error appears in the event log, the error persists until such time as all the Exchange services are stopped and started, chewing up valuable CPU time at the very least. Additionally, I've noted that when this error appears (no obvious reason for why it starts to occur -- usually it occurs overnight when there are no users, only server backups [with an Exchange component]) the addressbook update functionality fails (without any error) to update the Global Address Book and the Off-line Global Address Book. In fact this is how I first found the error -- adding a new user with an Exchange account, and noting that hours later their was no mailbox. I checked the event logs, found nothing directly related to the non-creation fo the mailbox, but forund a screen or more of the aforementioned (4511) error. Stopping and starting the Exchange services eliminated the error, and then forcing an update of the Address books solved the non-creation problem. The "4511" error appears almost monthly, with the same steps stopping the error, temporarily (for a month) from occurring continuously.
So, thank you for the information on the patch, I'll be speaking to PSS shortly about the hotfix!

And not to miss the "core" portion of the article -- I'd like to see the various methods briefly discussed "fleshed out" as not only will one method perhaps be "the way you waqnt to do it," but in some cases one method may work when another cannto due to assumptions about the current and future configurations of the servers/domain/network.

Thanks again for the information!

Rick Newton (MCSE NT 4.0),
Administration, Information Technology
Herpers Chagani Goling, Inc. (310DEBT)
300 - 4 Hughson Street South
Hamilton, ON L8N 3Z1
Canada

Add Your Comment Now:

Your Name:(optional)
Your Email:(optional)
Your Location:(optional)
Comment:
Please type the letters/numbers you see above

Redmond Tech Watch

Sign up for our newsletter.

I agree to this site's Privacy Policy.