Citrix XenDesktop Desktop icons are by default the same pictures for all delivery groups and quite boring. Back in the old XenApp days, the icon for Desktops could simply be picked during publishing. With XenDesktop, you have to use PowerShell (welcome to the future!) and with version 7.13 the get-ctxicons (Retrieves icon data from various sources) was removed and makes the process more difficult.
The default view of Desktop icons
In case the user has several Desktops assigned, then he gets this boring view in Receiver
The process to get a custom desktop icon
- Convert image (PNG) to ICO file format
- Convert ICO into base64 file
- Import base64 file
- Assign new custom icon to delivery group
- For StoreFront disable desktop substitute images
Here are more details
- Changing Delivery Group Icons
https://www.citrix.com/blogs/2013/08/21/xd-tipster-changing-delivery-group-icons-revisited-xd7 - Changing delivery group icons with storefront 3.0 or above in the environment
https://support.citrix.com/article/CTX216408
My little PoSh script
To simplify the process I have created a PowerShell script. All you need is an ICO file and the name of the delivery group (not the display name). Getting the ICO file is also quite simple and all you need is an image in PNG (make sure it has a transparent background) format. Go to http://convertico.com, upload the PNG and you get your ICO file right away. Next start PowerShell from XenDesktop Studio (next to action)
PowerShell usage
PoSh: New-DeliveryGroup-Icon.ps1 <path to ICO file> <delivery group name>
StoreFront
To see the icons also in StoreFront, the Substitute Desktop Image must be disabled
PoSh: .\Program Files\Citrix\Receiver StoreFront\Scripts\ImportModules.ps1
PoSh: Disable-DSStoreSubstituteDesktopImage -SiteId 1 -VirtualPath /Citrix/Store
The look after importing custom Desktop icons
This is how it looks for the same user but with custom icons
Download
Here is the PowerShell script