Website Links in Citrix StoreFront? Of Course

3 min read
Website Links in Citrix StoreFront? Of Course
You can do more than just publish applications and desktops.
Have you ever thought, “There must be more to Citrix StoreFront?” and your right!

Citrix Gatway Can Publish Bookmarks

In the past I’ve used Citrix Gateway to publish website links and this does work. You must not use ICA Only mode in the Gateway and then customize the Gateway theme beyond the login page as Gateway will provide the theme for the resources page.

I did run into some hiccups with this. If you think about it Citrix Gateway, that specific Gateway, will be managing your website links and and also a users favorited website links rather than StoreFront. At the time I also worked with a team of 6 guys and myself being the advanced Citrix ADC person I was use to the clunky interface and how to create the website links and assign them to an ad group if desired or for all users. The rest of the team was not.

Here’s the negatives of using Citrix ADC & a Gateway to manage website links:

  • Citrix ADC is not the best UI for anyone but an expert.
  • The management of the website links and favorites is tied to a specific Gateway.
  • If load balancing Gateway’s from say two or more then you have a real set of hoops you would have to jump through to have them sync. Not only the website links but users personal favorited choices of applications and desktops.

Luckily Citrix StoreFront can do all of this and they can be managed in Citrix Studio. Studio is by far a more user friendly place that even the Service Desk can have access to and see who’s assigned what and where a link goes.

Lets cut to the chase, how can I do this in the simplest way possible? Below I’ve include the PowerShell to run. You naturally would run this on your Delivery Controller that is part of the site you’d like to publish the website link. Just make sure to edit the four variables at the top to set your options. You could publish this as an application to say Desktop Support or Service Desk or anyone on your Team if you’d like to empower others to do great things.

Best regards,
Michael Wood

Add-PsSnapin Citrix*
Clear-Host

$userAssignment = "MyDomian\ADGroupAssignment"
$delivery = "MyDeliveryGroupAssignment"
$iconPath = "\\MyPath\Icons\"
$clientFolder = "MyCompany Bookmarks"
Start-Process $iconPath #-Show Icon Folder


#------Name?-----

Clear-Host
Write-Host "-------" -NoNewLine
Write-Host "Citrix PowerTools" -Foreground Cyan -NoNewLine
Write-Host "-------"
Write-Host ""
Write-Host "Create a Website Link in Studio" -ForegroundColor Cyan
Write-Host""
Write-Host "Default Selections" -ForegroundColor Green
Write-Host "Assignment Group: " -NoNewLine
Write-Host "$userAssignment" -ForegroundColor Yellow
Write-Host "Delivery Group: " -NoNewLine
Write-Host "$Delivery" -ForegroundColor Yellow
Write-Host "Catagory: "  -NoNewLine
Write-Host "$clientFolder" -ForegroundColor Yellow
Write-Host "Icon Path: "  -NoNewLine
Write-Host "$iconPath" -ForegroundColor Yellow
Write-Host ""
Write-Host "----------------------------------"
Write-Host ""
$appName = Read-Host "Enter Website Link Name or Q to exit"
If ($appName -eq "q"){exit}


#------Icon?-----

Clear-Host
Write-Host""
Write-Host "-= Create a Website Link in Studio =-" -ForegroundColor Cyan
Write-Host""
Write-Host "Default Selections" -ForegroundColor Green
Write-Host "Assignment Group: " -NoNewLine
Write-Host "$userAssignment" -ForegroundColor Yellow
Write-Host "Delivery Group: " -NoNewLine
Write-Host "$Delivery" -ForegroundColor Yellow
Write-Host "Catagory: "  -NoNewLine
Write-Host "$clientFolder" -ForegroundColor Yellow
Write-Host "Icon Path: "  -NoNewLine
Write-Host "$iconPath" -ForegroundColor Yellow
Write-Host ""
Write-Host "Your Selections" -ForegroundColor Green
Write-Host "Link Name: "  -NoNewLine
Write-Host "$appName" -ForegroundColor Yellow
Write-Host ""
Write-Host "----------------------------------"
Write-Host ""
Write-Host "The icon name doesn't need the extension added and only accepts png files" -ForegroundColor Red
$iconName = Read-Host "Enter Icon Name"
$iconPNG = $iconName + ".png"


#------URL?-----

Clear-Host
Write-Host""
Write-Host "-= Create a Website Link in Studio =-" -ForegroundColor Cyan
Write-Host""
Write-Host "Default Selections" -ForegroundColor Green
Write-Host "Assignment Group: " -NoNewLine
Write-Host "$userAssignment" -ForegroundColor Yellow
Write-Host "Delivery Group: " -NoNewLine
Write-Host "$Delivery" -ForegroundColor Yellow
Write-Host "Catagory: "  -NoNewLine
Write-Host "$clientFolder" -ForegroundColor Yellow
Write-Host "Icon Path: "  -NoNewLine
Write-Host "$iconPath" -ForegroundColor Yellow
Write-Host ""
Write-Host "Your Selections" -ForegroundColor Green
Write-Host "Link Name: "  -NoNewLine
Write-Host "$appName" -ForegroundColor Yellow
Write-Host "Icon Name: "  -NoNewLine
Write-Host "$iconPNG" -ForegroundColor Yellow
Write-Host ""
Write-Host "----------------------------------"
Write-Host ""
$citrixUrl = Read-Host "Enter URL (ie: https://www.citrix.com)"


#------Confirmation-----

Clear-Host
Write-Host""
Write-Host "-= Create a Website Link in Studio =-" -ForegroundColor Cyan
Write-Host""
Write-Host "Default Selections" -ForegroundColor Green
Write-Host "Assignment Group: " -NoNewLine
Write-Host "$userAssignment" -ForegroundColor Yellow
Write-Host "Delivery Group: " -NoNewLine
Write-Host "$Delivery" -ForegroundColor Yellow
Write-Host "Catagory: "  -NoNewLine
Write-Host "$clientFolder" -ForegroundColor Yellow
Write-Host "Icon Path: "  -NoNewLine
Write-Host "$iconPath" -ForegroundColor Yellow
Write-Host ""
Write-Host "Your Selections" -ForegroundColor Green
Write-Host "Link Name: "  -NoNewLine
Write-Host "$appName" -ForegroundColor Yellow
Write-Host "Icon Name: "  -NoNewLine
Write-Host "$iconPNG" -ForegroundColor Yellow
Write-Host "Website URL: "  -NoNewLine
Write-Host "$citrixUrl" -ForegroundColor Yellow
Write-Host ""
Write-Host "----------------------------------"
Write-Host ""
Read-Host -Prompt "Press any key to create the website link or CTRL+C to quit"


#-----Create App--------

$ctxIcon = Get-BrokerIcon -FileName "$iconPath\$iconPNG" -index 0
$brokerIcon = New-BrokerIcon -EncodedIconData $ctxIcon.EncodedIconData
$dg = Get-BrokerDesktopGroup –Name $delivery

New-BrokerApplication –ApplicationType PublishedContent –CommandLineExecutable $citrixURL –Name $appName –DesktopGroup $dg.Uid -IconUid $brokerIcon.Uid -ClientFolder $clientFolder -UserFilterEnabled $True
Add-BrokerUser $userAssignment -Application $appName

Pause
Virtualize Brief


Follow