As we know Citrix Receiver is using beacons (configured on storefront) to detect whether the client is on local or external network.
Receiver uses this to decide how to connect, via NetScaler or via Storefront directly.
Today I got the need to change the internal storefront beacon for a deployment with lots of various users.
Now this is set in the registry on the clients computer when the account is first added.
When changing one or more beacons on the storefront side, the user(s) need to re-add the account to get the new beacons set in the registry.
If you have lots of users, where some needs help to do this, this can be rather time consuming.
So the best option is to get to set this automatically, so the user never sees or need to do anything.
Now the keys in registry resides in:
This is a Reg_SZ value called “Address”.
Using Group policy and powershell this can be set in a GPO to run at logon, or just run manually.
Below is the ones I put together today, consisting of one powershell script, and one batch script.
(This to bypass powershell execution restrictions.)
## Changing the Citrix Receiver internal Beacon pr user
## Creator: Geir Dybbugt
## Company: SERIT IT Partner More AS
## E-mail: firstname.lastname@example.org
$Path = “HKCU:\Software\Citrix\Receiver\SR\Store\*\Beacons\internal\Addr0”
$ValueName = “Address”
$NewValue = “InsertNewBeaconUrlHere”
## Check for Addr0
Get-ChildItem $path| Get-ItemProperty -name $ValueName |
add-content c:\temp\ChangeReceiverBeacon.txt “Old Value”
## Update Addr0
Get-ChildItem $path |Set-ItemProperty -name $ValueName -value $NewValue
Get-ChildItem $path |Get-ItemProperty -name $Valuename|
out-file c:\temp\ChangeReceiverBeacon.txt -append
add-content c:\temp\ChangeReceiverBeacon.txt “New Value”
Batch script (to add as logon script in GPO):
powershell Set-ExecutionPolicy bypass -Scope currentuser -force
Put the Batch in a GPO applying to the users computers as a logon script, user setting.
The scripts can also be downloaded as a .zip file HERE.