Windows 8 / Windows 8.1: Set Account Picture from active directory
We can get so many posts on internet that contains the procedures to set user tile from active directory for a Windows 7 domain member computer.
But there is no successful guide & tools available on Internet to set account picture from active directory on a Windows 8 or Windows 8.1 computer. I cannot understand why Microsoft is not including a built-in feature for this simple (but a dream of all I.T administrators) option.
I have decided to spend my weekend to find a solution for this. I have developed a tool (In VB.net) and group policy procedure to set account picture from active directory on a Windows 8 or Windows 8.1 domain computer. I wish to share it with you all.
Step 1. Create a GPO in your server & ensure it is applicable only to Windows 8 & Windows 8.1 clients by using a WMI filter
If you have already a similar kind of group policy, you can re-use it instead of creating a new.
You can create a WMI filter using below Query, give a proper Name (In my case: Win8 & 8.1 OS Computers)
SELECT * FROM Win32_OperatingSystem WHERE (Version LIKE "6.2%" or Version LIKE "6.3%" ) AND ProductType = 1
Give a proper name to newly created group policy, In my case I am using “ClientOS Settings-Win8 & 8.1” and ensure you are selected the “Win8 & 8.1 OS Computers” WMI filter to ensure newly created GPO is only applicable to Windows 8 and Windows 8.1 clients.
In my case I have used \<DomainName>NETLOGONUserTile. It will ensure everyone can access this file with read only access & also nobody can alter or remove it
Step 2. Download and save “UserTile8.exe” to a shared folder that everyone can access.
Exe: Click here
UserTile8.exe I have developed in .NET framework 4 (VB.net). This utility will find thumbnailPhoto of the current user from active directory & convert to different sizes (200x 200, 240×240, 40×40, 448×448 and 96×96) with some enhancements in picture quality. These all different size images are required in Windows 8 & Windows 8.1. After the conversion, it will be stored in “C:ProgramDataAccountPictures” folder with UserSID+ImageSize.jpg format Then it will update the HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindows CurrentVersionAccountPictureUsers<SID> registry values. In windows 8 & 8.1 Account picture settings are keeping in this registry. But unfortunately users don’t have the permission on this registry. Here we are going to give the required permission using the GPO we have created earlier (see next step)
I have included the source code of UserTile8. You can download, refer and make any changes & re-compile if required. Without any changes you can simply use UserTile8.exe in case you don’t have .NET programming knowledge.
Step 3 Edit the group policy ClientOS Settings-Win8 & 8.1
Go to Computer Configuration->policies-> Windows Settings -> Security Settings – Registry
Right Click on Registry and select Add Key
Add the below Key:
Give Full Permission on this key (and sub keys) to <Domain>Users
Ensure security is applies to this Keys and sub keys from advanced security
Also make sure you have selected “Replace Existing permission on all sub keys with inheritable permissions.”
Now we have to enable an option to execute UserTile8.exe on user login. Here I am going to make a scheduled task in group policy for that. (Even you can make your own procedure like logon script to do it)
To make a scheduled task in GPO:
Edit the group policy ClientOS Settings-Win8 & 8.1
User Configuration-> Preferences->Control Panel Settings -> Scheduled Tasks
Right Click and select New Sheduled Task (At lest Windows 7) Option From General Tab
Set Name as: SetUserTile
Select Hidden ( to ensure UserTile8 is hidden on background when a user login to the computer)
From Triggers Tab
Create a new trigger and select Begin the task: At Login, Any User
From Actions Tab
Create New Action Select Action “start Program”
From Program Script Option
Select the UserTile8.exe from the shared folder.
Press Ok buttons and save it.
All the settings are ready now.
To test it is working or not, go to a Windows 8.1 client pc.
Run gpupdate from command prompt to update the group policy immediately.
Logoff and login twice. (On first login, UserTile8 executes & sets all required data. But to after second login only it will be refreshed by windows.)
In case you have any comments, I am happy to answer (surely on my free time).
If you find this tool is helpful for you, you can consider to offer a coffee by pressing the donate button.