While working on the mandatory profiles for a new Windows 8.1 lab, I built the profile on a virtual machine with a different resolution than the physical machine. This resulted in the icons being reset to the default (all along the left side) when the profile loaded on the physical labs with their native resolution.
With icon position being a per-user setting, I knew I could address the issue in the profile, most likely the Registry. Sure enough, I found the setting under:
HKEY_CURRENT_USERSoftwareMicrosoftWindowsShellBags1Desktop
At that registry location, which I was able to edit by loading the ntuser.man hive of the mandatory profile, there are many settings related to the Desktop view. Most important for icon location is the ItemPos[resolution] key. Since it’s a binary value, it’s impractical to edit the field manually. Instead, I used a dummy account on a computer with the desired resolution, copied the desktop icons over, and arranged them how I wished for them to appear. I then exported the value for the resolution that the lab uses and imported it into the mounted hive.
Once I brought those changes over and unloaded the hive, I logged into a lab computer with the user account using the profile and the icons appeared exactly as they were intended.