Cameyo PowerTags are metatags which can be assigned to Cameyo apps, servers, clusters, users, user groups and/or the entire account. They can either be a specific Cameyo PowerTag defining custom behavior, or a Custom PowerTag injecting a dynamic value into the Windows session and running app. This article focuses on the latter. PowerTags can be configured wherever you see this:
- !STARTUP_BEFORE_xxxx: controls session scripting.
Session appearance and toolbars:
- !TASKBAR_QUICKLAUNCH: controls Cameyo's Task Bar.
- !EXTRATOOLBTNS: controls extra toolbar buttons.
- !CLIPBOARD=1 or 0: enables or disables clipboard support.
- !CONNECT_RESOLUTION=800x600: defines a fixed session width and height.
- !KEYLOCK=1: when in full screen mode, session will capture all system keyboard keys including the "Windows" key, Alt-Tab as well as misc reserved control keys.
File dialogs and storage:
- !STORAGEFILEDIALOG, !STORAGEFILEDIALOGPATHS, !FILEDIALOG_EXTRA, !FILEDIALOG_MYFILES: control Cameyo's File Dialog.
- !USERPROFILE_DRIVE=X: virtual drive letter for user profile.
- !PUBLIC_DRIVE=P: virtual drive letter for the Public dir.
- !UPCS_ENABLED=0/1: controls Session Sync for data persistence and cloud-based user profile synchronization.
- !UPCS_INCLUDE, !UPCS_EXCLUDE: controls Session Sync data persistence and its include / exclude filters.
- !UPCS_MINSPACE: defines the minimum hard-drive space when caching data persistence locally (C:\UserData). See Session Sync data persistence.
Session connectivity and initiation:
- !CLOUDTUNNEL=1 or 0: forces Cloud Tunneling on / off.
- !AUTHDOMAIN=: domain name for Native Windows authentication mode.
- !NATIVE=1: launches session using the native player (Windows clients only).
- !SPLASH_EYE=1 or 0: displays or hides the 'eye' button on the splash screen, allowing to see the Windows login process.
- !SERVER=[server-id]: forces sessions to run on a specific server. Can only be applied to apps, users or usergroups.
Windows / app behavior:
- !STOPFILES: blocking access to specific files and executables.
- !CLIENTNAME, !USERNAME, !COMPUTERNAME: client, user and machine name virtualization.
- !CHROME=1: sets Chrome as the default browser instead of IEXPLORE.
- !STARTINGDIR: defines the starting directory for the session app's execution.
- !EXECREDIR=org.exe=c:\new\new.exe: substitutes the execution of org.exe anywhere on the disk with that of c:\new\new.exe.
- !SHELL_LOCKDOWN=1 or 0: blocks hard-disk Explorer navigation and basic system commands. Must be combined with the !USERPROFILE_DRIVE tag.
- !URLREDIR=1 or [url_prefix in the form: https://someurl.com/somewhere]: URLs launched by the session's app will be redirected directly as a new tab within the user's browser, outside the session itself.
- !SUPPORT=0 or -1: blocks server access to Cameyo's support team. 0 blocks admin access, -1 blocks admin and regular app sessions.
- !MAXDISCONNECT: time, in seconds, to keep sessions alive in case of disconnection. Equivalent to Windows RDS' MaxDisconnectionTime parameter. Cameyo's default is 120.
- !CLOUDTAGS (GCP only), !CLOUDLABELS, !CLOUDVPC, !CLOUDSUBNETS: respectively custom cloud tags and labels, VPC and subnets for created instances.
Session token security:
- !TOKEN_TTL: timeout in seconds after which a session's token can no longer be used. Note that this also neutralizes connection resiliency after the timeout expires.
- !TOKEN_MULTI_IP=0: prevents a session's token from being used from an IP different than the initial one. Note that this also neutralizes connection resiliency if the user's IP changes during session time.
Configuration and order of precedence
PowerTags are dynamic, meaning they can vary from one session to another and take effect immediately, without requiring service nor server restart (except server-level PowerTags). When multiple tags exist for a given session (i.e. cluster + server + user + app), the session will be started with the combination of all relevant tags. The order of precedence, from the most prioritary to the least is:
- User group
For example, if user has tag 'MY_NAME=John' defined while the server has 'MY_NAME=Server' defined, a session run by this user on that server will have 'MY_NAME' defined as 'John'.
As another example, if the server has tag 'MY_NAME=SERVER' defined while the server's cluster has 'MY_NAME=CLUSTER' defined, sessions will run on this server with 'MY_NAME' defined as 'SERVER'.
As yet another example, if an application has tag 'MY_NAME=SomeApp' while the same global Cameyo account's PowerTag is defined as 'MY_NAME=CameyoAccount' then a session running this app will have 'MY_NAME' defined as 'SomeApp'.
Multiple tags can be defined on each line, e.g:
MY_VAR2=Some other value
PowerTags can also be used to inject any value of your choice into Cameyo sessions as environment variables:
'+' sticky PowerTags: persistent server-wide environment variables (advanced)
PowerTags are defined per-sessions, allowing high flexibility. If you need tags or environment variables to be defined globally for the entire server (including system processes for example), you can do so by prefixing your PowerTags with a plus sign ('+'). In this case the PowerTag will be defined globally on relevant servers, even outside of Cameyo sessions. For example, setting "+MY_GLOBAL_VAR=Some value" will result in the affected servers having a global system variable "MY_GLOBAL_VAR" with the value "Some value". Sticky tags can only be set for servers, clusters and whole accounts. They only take effect upon server's service start. Removing a sticky server tag that has been added requires setting it to an empty value, i.e: "+MY_GLOBAL_VAR=". It will then be removed upon the next Cameyo service restart and a consequent system reboot (a Windows limitation).
The '+' must always comes first. i.e. to define a config tag such as "!REBOOTDAYS=1" as sticky, specify "+!REBOOTDAYS=1".
Sticky Config Tags:
- +!REBOOTDAYS=7: server uptime reboot frequency in days (0=never).