It doesn't pick up the user pic. Here's my login code for populating the user pic: $username=$env:username $domain=$env:userdomain $temp=$env:temp $photo = ([ADSISEARCHER]“samaccountname=$($username)”).findone().properties.thumbnailphoto if($photo -eq $null){ $command = “\\DOMAIN\netlogon\pictures\usertile.exe $domain\$username \\DOMAIN\netlogon\pictures\default.jpg” } else { $photo | set-content $temp\$domain+$username.jpg -Encoding byte $command = “\\DOMAIN\netlogon\pictures\usertile.exe $domain\$username $temp\$domain+$username.jpg” } cmd /c $command And here is the source for usertile.exe: using System; using System.Runtime.InteropServices; namespace TilePicture { class Program { [DllImport("shell32.dll", EntryPoint = "#262", CharSet = CharSet.Unicode, PreserveSig = false)] public static extern void SetUserTile(string username, int whatever, string picpath); [STAThread] static void Main(string[] args) { SetUserTile(args[0], 0, args[1]); } } }