|Manuals

Silent Install — JSON Parameters Reference

All silent-install parameters live under a root "thinfinity" node in the JSON configuration file, and the nodes below it mirror the Configuration Manager tabs. The values shown in the tables are illustrative — replace them with the values for your environment.

Note

If a key or value can’t be interpreted, Thinfinity Workspace writes a thinfinity.config.err file (see Passing Parameters as a JSON Structure). Use it to find the offending entry.

General Tab — Bindings

The binding node accepts a single object or an array of objects (one per binding).

Key Value type Allowed/example value
https boolean true/false
ip string “127.0.0.1”
port integer 9443
hostName string “myhost.com”
certificateStore string “MY”
thumbprint string “c6667522eaeb9ee705176b70eead22b2cf0784d1”
redirectUrl string “127.0.0.1/home”
redirectCode integer 302

General Tab — Network ID and Networks

Key Value type Allowed/example value
networkId string “MyNet”. Use * to auto-generate a GW-<id> value.
networks[].id string “MyNet”
networks[].subdomain string “*”

General Tab — Gateway URLs

Key Value type Allowed/example value
gatewayUrls array of strings [“https://gw1.example.com”, “https://gw2.example.com”]
commGatewayUrls array of strings [“https://comm-gw1.example.com”]
apiKey string “1B7FB733-4221-49D6-AFFE-D13652149775”

gatewayUrls registers the primary, public-facing gateway address(es). commGatewayUrls registers dedicated Communications Gateway address(es) — the address the Desktop Client uses for its direct connection instead of the primary one. Set commGatewayUrls when the Primary Gateway is behind a load balancer; see the Gateway concept and Registering Communications Gateway URLs for the settings.ini-based alternative to this JSON method.

General Tab — Options

Key Value type Allowed/example value
options.allowAnonymousAccess boolean true/false
options.standardBrowserAuthenticationDialog boolean true/false

Services Tab

The services.role key selects the installation role. If omitted, the server is configured in All-in-one mode.

Key Value type Allowed value
services.role integer 0 = All-in-one, 1 = Gateway, 2 = Primary Broker, 3 = Secondary Broker, 4 = VirtualUI Agent, 5 = AD Cache (RemoteAD), 6 = Agent

The following keys enable or disable individual services.

Key Value type Allowed value
services.broker boolean true/false
services.gateway boolean true/false
services.virtualization boolean true/false
services.webServiceApi boolean true/false
services.booking boolean true/false
services.cloudManager boolean true/false
services.zscope boolean true/false
services.enterpriseLogger boolean true/false
services.notifications boolean true/false
services.identityProvider boolean true/false
services.remoteAD boolean true/false
services.acme boolean true/false
services.openTelemetry boolean true/false
services.screenCast boolean true/false

Broker Tab

Key Value type Allowed/example value
broker.accessKey string “{InstanceID}-{ComputerName}”
broker.poolName string “PoolName”
broker.publicGatewayURL string “https://gateway.example.com”

Agent

Applies when the node runs in Agent mode.

Key Value type Allowed/example value
agent.remoteId string “{InstanceID}-{ComputerName}”
agent.password string “***********”

Broker Pools

Secondary broker pools are defined as an array under pools.

Key Value type Allowed/example value
pools[].name string “Pool_1”
pools[].usersLimit integer 10000
pools[].default boolean true/false
pools[].method string “breadthFirst” or “depthFirst”
pools[].temporaryFolder object See the table below.
pools[].sharedFolders array of objects See the table below.
pools[].virtualui object See the table below.

temporaryFolder

Key Value type Allowed/example value
rootPath string “C:\Temp\”
username string “UserName”
password string “***********”

sharedFolders

Key Value type Allowed/example value
networkPath string “\\Server\Share\”
shareName string “ShareName”
username string “UserName”
password string “***********”

virtualui

Key Value type Allowed/example value
sessionMode string “rds”, “fus”, or “shared”
authentication.onDemand.usernamePrefix string “vui_”
authentication.onDemand.addToGroup string “Administrators”

Telemetry

Key Value type Allowed/example value
telemetry.localGateway boolean true/false
telemetry.httpOtlp string “http://127.0.0.1:4320”
telemetry.grpcOtlp string “http://127.0.0.1:4319”
telemetry.metrics boolean true/false
telemetry.trace boolean true/false

Metrics

Key Value type Allowed/example value
metrics.local boolean true/false
metrics.url string “http://127.0.0.1:8428”

Metrics Database

Key Value type Allowed/example value
database.connectionName string “MyConnection”
database.driver string “MySQL”
database.server string “db.example.com”
database.database string “thinfinity”
database.userName string “UserName”
database.password string “***********”
database.odbcAdvanced string “”

Protection Tab

Key Value type Allowed/example value
protection.bruteForce.enabled boolean true/false
protection.bruteForce.maxAttempts integer 3
protection.bruteForce.minutesToReset integer 10
protection.whiteList array of strings [“192.168.1.”]
protection.blackList array of strings [“192.168.2.”]

Authentication Tab — Methods

Authentication methods are defined as an array under methods. Every method shares the following base keys.

Key Value type Allowed/example value
class string The method class — see the sections below.
uid string “{3D93958D-980B-4E90-8A47-F1C313E1F740}”
name string “win logon”
enabled boolean true/false
readOnly boolean true/false
secondFactor string The uid of a second-factor method to chain (for example, a TOTP or Duo method).
icon string Base64 icon. Keep the default.

Windows Logon

Key Value type Allowed/example value
class string “TWinLogonAuthMethod”

No keys beyond the base set are required.

OAuth 2.0

Key Value type Allowed/example value
class string “TOAuthAuthMethod”
virtualPath string “/accessProfileName”
clientID string “xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx”
secretKey string “xxxxx~xxxxxxxxxxxxxxxxxxxxxxxxxxx.xxxxx”
URL string “https://login.microsoftonline.com/.../oauth2/authorize”
TokenURL string “https://login.microsoftonline.com/.../oauth2/token”
TokenParams string “resource=https://graph.windows.net/”
ProfileURL string “tokenSection:2”
ProfileUserName string “UserName”
ProfileDefaultParams boolean true/false
ProfileSendAuthHeader boolean true/false
queryString string “”
CustomRedirect string “”
SignOutUrl string “https://…”

API Access

Key Value type Allowed/example value
class string “TAPIAccessAuthMethod”
clients[].clientID string “ed57c0f0-f209-4695-b891-aeb5afb3b575”
clients[].secret string “***********”
clients[].userAccount string “userJohn”
clients[].validityTime integer 3600
clients[].expiration string “2026-05-31T19:20:21Z”

SAML

Key Value type Allowed/example value
class string “TSAMLAuthMethod”
virtualPath string “SAMLAssertionConsumerService”
IdentityProviderURL string “https://idp.example.com”
SignAuthRequest boolean true/false
SSOUrl string “https://idp.example.com/sso”
SLOUrl string “https://idp.example.com/slo”
PartnerCertificateFile string “C:\certs\partner.cer”
ServiceCertFile string “C:\certs\service.pfx”
ServiceCertPass string “***********”
ServiceExternalURL string “https://workspace.example.com”

TOTP (Second Factor)

Key Value type Allowed/example value
class string “TTOTPAuthMethod”
digits integer 6
algorithm integer 0 = SHA1, 1 = SHA256, 2 = SHA512
precision integer 30
issuer string “Thinfinity Workspace”
guid string “{instance-guid}”

Duo (Second Factor)

Key Value type Allowed/example value
class string “TDUOAuthMethod”
virtualPath string “DUOLogin”
IntegrationKey string “DIxxxxxxxxxxxxxxxxxx”
secretKey string “***********”
APIHostname string “api-xxxxxxxx.duosecurity.com”

RADIUS

The RADIUS methods (TRadiusAuthMethod and the second-factor TRadiusMFAAuthMethod) are available on builds that include RADIUS support.

Key Value type Allowed/example value
class string “TRadiusAuthMethod” or “TRadiusMFAAuthMethod”
host string “radius.example.com”
port integer 1812
key string “***********”
auth integer The authentication protocol.

Additional Advanced Nodes

The JSON schema also supports advanced nodes that are configured the same way (key-value pairs under the "thinfinity" root). These are typically set through the Configuration Manager rather than at install time, and are not detailed here:

  • vnc — screen-sharing options, authentication, experience, and permissions.
  • userPermissions — per-user Web Manager, Configuration Manager, and Cloud Manager permissions.
  • analytics — Analytics database connection.
  • iamServer — Identity and Access Management server settings.
  • zscope — z/Scope service registration.
  • dirsvc — Directory Services definitions.