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:
“HKEY_CURRENT_USER\Software\Citrix\Receiver\SR\Store\”SomeNumber”\Beacons\Internal\Addr0”
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.)
Powershell script:
## Changing the Citrix Receiver internal Beacon pr user
## Creator: Geir Dybbugt
## Company: SERIT IT Partner More AS
## E-mail: geir.dybbugt@more.serit.no
## Variables
$Path = “HKCU:\Software\Citrix\Receiver\SR\Store\*\Beacons\internal\Addr0”
$ValueName = “Address”
$NewValue = “InsertNewBeaconUrlHere”
## Check for Addr0
Get-ChildItem $path| Get-ItemProperty -name $ValueName |
select PsChildName,Address|
out-file c:\temp\ChangeReceiverBeacon.txt
add-content c:\temp\ChangeReceiverBeacon.txt “Old Value”
## Update Addr0
Get-ChildItem $path |Set-ItemProperty -name $ValueName -value $NewValue
Verify change
Get-ChildItem $path |Get-ItemProperty -name $Valuename|
select PsChildName,Address|
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
powershell “\\UncPathToPowerShellScriptHere\ChangeReceiverBeacon.ps1”
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.
Consultant manager & SME @ iteam, localized in Kristiansund, Norway.
Focused on EUC, security, mobility, virtualization, management and a modern workplace. Highly specialized around RDS/Citrix/EUC/Mobility.
I’ve been doing some testing in my lab with a standalone SF 3.12 server and with 4.7 citrix receiver and reg key for the internal beacon would change automatically after changing it in SF 3.12 console. Did something change after a certain version of SF or Citrix Receiver?
Can we just add that reg key through group policy preference and set it to update instead of running it as a startup script?
Yes, that should work.
For that you need the actual store ID for your storefront store(s) to replace the wildcard (*) in the script.
The store ID can be found in the receiver config file (export from storefront/download via web portal for your site (activation file). Look for the number between “SRID” in that file.
yes, i found that. The SRID should be the same number for all of the citrix receiver clients, correct?
SRID should be unique for the Store – passed from storefront- so yes. If you have multiple stores make a registry entry pr SRID you want to change in Group Policy,