Print

Print


Larry:

This is not a really straightforward thing to do.

On Windows 7/Vista, User account pictures are stored here:
"C:\ProgramData\Microsoft\User Account Pictures\"

The default and guest picture bears the names "user.bmp", and
"guest.bmp".  You can substitute any valid bitmap for these files to
change the defaults. 

Each time a new user logs in to the system, a "dat" file gets created in
this directory for the user's account picture.  This is a metafile that
contains a pointer to the original user account picture, and a cached
copy of the picture itself.  Local account pictures are stored as
<username>.dat, while domain accounts are stored as
<domain>+<username>.dat.  However, if a user does not select a specific
picture, the DAT file will be empty, and the default user account
picture will be used.  If a user does select a specific picture, the DAT
file will be populated /and/ a copy of the picture will be cached here:
"C:\Users\<username>\AppData\Local\Temp\<domain>+<username>.bmp"

But none of this really helps you because the DAT file format is
proprietary, and cannot be hand-edited.

So what to do?  I guess that depends on how important is it to you to
alter the picture.  There is an API for altering the picture, which you
could access using VBScript, PowerShell, or the like.  Here is an
example implementation using C# code, compilable with Visual Studio:
http://code.google.com/p/joco-dotnetframework/source/browse/trunk/Source/FejesJoco.Framework.Windows/ShellUtils.cs?r=25
And here is a perhaps more useful script implemented in VBScript:
http://deployment.xtremeconsulting.com/2010/06/23/usertile-automation-part-1/

-Greg

On 1/29/2011 9:47 AM, Larry Kost wrote:
> Does anyone out there know how to change a user account picture
> without going through the Control Panel/User accounts/ etc?  Can it be
> done in the registry or User's Profile?
>
> LLK