Apprendre à déployer rapidement l'application Windows Workspace avec des sources de données et des paramètres préconfigurés sur les endpoints Windows.
Cliquer ici pour voir la documentation complète de Windows pour obtenir des instructions détaillées, des solutions de dépannage et des scénarios avancés.
La pré-configuration vous permet de déployer l'application Windows Workspace avec :
Sources de données déjà configurées (Devolutions Server, Devolutions Hub Business)
Paramètres de l'application préappliqués (langue, sécurité, options de verrouillage)
Aucune configuration utilisateur requise - les utilisateurs lancent et sont immédiatement productifs
Utiliser DEPLOY_CONFIG pour les déploiements automatisés : Recommandé pour Intune, SCCM, installations silencieuses
msiexec /i Workspace.msi /qn DEPLOY_CONFIG="C:\path\to\Config.cfg"
Fonctionner de manière fiable dans les installations automatisées/silencieuses
S'applique à tous les utilisateurs sur la machine
Pas de problèmes de contexte utilisateur
Nettoie automatiquement le fichier de configuration source
Créer en utilisant l'outil de configuration UI (Outils – Installation Personnalisée dans Workspace)
Ou créer manuellement un fichier .cfg
Utiliser des paramètres MSI intégrés pour des déploiements rapides
msiexec /i Workspace.msi /qn ^
DVLS_SERVER_URL="https://dvls.company.com" ^
HUB_NAME="mycompany" ^
ORGANIZATION_ID="your-org-guid" ^
LANGUAGE="en-US"
msiexec /i Workspace.msi /qn ^
DVLS_SERVER_URL="https://dvls.company.com" ^
LOCKING_OPTION="windowsCredentials" ^
LANGUAGE="en-US"
### Example 2: Deploy Devolutions Hub Business
```bash
# With Organization ID
msiexec /i Workspace.msi /qn ^
HUB_NAME="mycompany" ^
ORGANIZATION_ID="12345678-1234-1234-1234-123456789abc" ^
REDUCE_TO_TRAY_ON_CLOSE="true"
# Without Organization ID (if not required by your Hub)
msiexec /i Workspace.msi /qn ^
HUB_NAME="mycompany" ^
REDUCE_TO_TRAY_ON_CLOSE="true"
msiexec /i Workspace.msi /qn DEPLOY_CONFIG="\\server\share\Config.cfg"
Les fichiers de configuration (.cfg) utilisent le format JSON :
{
"dvls": [
{
"name": "Production Server",
"serverUrl": "https://dvls.company.com"
}
],
"hubs": [
{
"url": "https://mycompany.devolutions.app",
"organizationId": "your-org-guid-here"
}
],
"configs": {
"language": "en-US",
"lockingOption": "windowsCredentials",
"clearClipboardSensitiveData": true,
"clipboardTimer": 60
}
}
Serveurs multiples : ajouter d'autres objets au tableau
dvls.
Cliquer ici pour voir la référence complète de configuration.
Préparer les fichiers :
Workspace.msi
config.cfg
Install-Workspace.ps1 (voir ci-dessous)
Script PowerShell (
Install-Workspace.ps1) :
$ConfigSource = "$PSScriptRoot\config.cfg"
$ConfigTarget = "C:\Program Files\config.cfg"
$MsiPath = "$PSScriptRoot\Workspace.msi"
# Copy config.cfg to Program Files
try {
Copy-Item -Path $ConfigSource -Destination $ConfigTarget -Force
} catch {
Write-Host "Error copying config file: $($_.Exception.Message)"
exit 1
}
# Install MSI silently with DEPLOY_CONFIG parameter
$Arguments = "/i `"$MsiPath`" /qn /norestart DEPLOY_CONFIG=`"C:\Program Files\config.cfg`""
$Process = Start-Process "msiexec.exe" -ArgumentList $Arguments -Wait -PassThru
exit $Process.ExitCode
Créer paquet .intunewin :
IntuneWinAppUtil.exe -c C:\IntuneApps\Workspace -s Install-Workspace.ps1 -o C:\Output
Configurer dans Intune :
Commande d'installation : `powershell.exe -ExecutionPolicy Bypass -File .\Install-Workspace.ps1
Commande de désinstallation :
msiexec.exe /x {PRODUCT-CODE-GUID} /qn /norestartComportement d'installation : Système
Règle de détection : MSI (Intune détecte automatiquement le code produit)
Que se passe-t-il sur le point de terminaison : Intune exécute le script, qui copie
config.cfgdansC:\Program Files\et installe le MSI avecDEPLOY_CONFIG. Le MSI applique la configuration, et les utilisateurs obtiennent une application entièrement configurée lors du premier lancement
Système complet (tous les utilisateurs) :
%ProgramData%\net.devolutions\Workspace\DefaultConfig.cfgPar utilisateur :
%APPDATA%\net.devolutions\Workspace\Config.cfgRemarque : À l'échelle du système nécessite le fichier indicateur
config.readydans le même répertoire
{
"language": "en-US",
"reduceToTrayOnClose": true,
"useFavicon": true,
"useEntriesSyncOnDatasourceAccess": true
}
password- Mot de passe maîtrebiometric- Empreinte digitale/Face IDwindowsCredentials- Windows Hello
en-US, fr, de, es, cs, hu, it, nl, pl, ru, sv, tr, uk, zh-CHS, zh-TW
Cliquer ici pour voir tous les paramètres disponibles.
Vérifier si le fichier
config.readyexiste à côté deDefaultConfig.cfgValider la syntaxe JSON (pas de virgules finales)
Vérifier les permissions de fichiers
Utiliser
DEPLOY_CONFIG(nonUSER_CONFIG)Emballer ensemble MSI et .cfg
Utiliser
/l*v install.logpour capturer les journaux détaillés
La configuration du système ne s'applique que si la configuration utilisateur n'existe pas
Une fois que l'utilisateur modifie les paramètres, ils sont enregistrés dans
Cliquer ici pour voir le guide complet de résolution de problèmes.
Enterprise deployment?
├─ YES → Use DEPLOY_CONFIG with .cfg file
│ (Intune, SCCM, silent installs)
│
├─ Simple setup → Use inline MSI parameters
│ (Quick, one DVLS server)
│
└─ Complex setup → Create .cfg with UI tool first
(Multiple servers, many settings)
Apprendre à déployer rapidement l'application Workspace macOS avec des sources de données et paramètres préconfigurés à travers des points de terminaison macOS.
Cliquer ici pour consulter la documentation complète de macOS pour des instructions détaillées, la résolution de problèmes et des scénarios avancés.
La pré-configuration vous permet de déployer l'application Workspace macOS avec :
Sources de données déjà configurées Devolutions Server, Devolutions Hub Business
Paramètres de l'application préappliqués (langue, sécurité, options de verrouillage)
Aucune configuration utilisateur requise — les utilisateurs lancent et sont immédiatement productifs
Utiliser les profils MDM de Jamf Pro ou Intune - Norme d'entreprise pour les flottes gérées.
Télécharger le schéma Jamf : Jamf Pro JSON Schema.
Dans Jamf Pro, aller à Ordinateurs – Profils de configuration – Application & Paramètres personnalisés.
Téléverser le schéma JSON et configurer les paramètres dans le GUI.
Définir la portée du profil pour cibler les ordinateurs.
Domaine de préférence : net.devolutions.authenticator
Gestion centralisée depuis la console MDM
Priorité la plus élevée (remplace la configuration basée sur les fichiers)
Capacités d'application des politiques
Approche standard pour les entreprises
Utiliser des fichiers de configuration pour des déploiements scriptés ou des environnements sans MDM.
sudo cp config.cfg "/Library/Application Support/Devolutions/Workspace/DefaultConfig.cfg"
Utiliser le schéma JSON de Jamf (GUI) :
Téléverser le schéma dans un profil de configuration Jamf Pro
Configurer les paramètres, par exemple:
Devolutions Server : Ajouter un serveur avec l'URL
https://dvls.company.comMéthode de verrouillage : Biométrique (Touch ID)
Verrouiller lorsqu'en arrière-plan : Activé
Définir la portée et déployer
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>PayloadContent</key>
<array>
<dict>
<key>PayloadType</key>
<string>net.devolutions.authenticator</string>
<key>PayloadIdentifier</key>
<string>net.devolutions.authenticator.config</string>
<key>PayloadDisplayName</key>
<string>Workspace Configuration</string>
<key>language</key>
<string>en-US</string>
<key>lockingOption</key>
<string>biometric</string>
</dict>
</array>
</dict>
</plist>
# Configure settings
defaults write net.devolutions.authenticator language -string "en-US"
defaults write net.devolutions.authenticator lockingOption -string "biometric"
defaults write net.devolutions.authenticator useBackgroundLock -bool true
Les fichiers de configuration (.cfg) utilisent le format JSON :
{
"dvls": [
{
"name": "Production Server",
"serverUrl": "https://dvls.company.com"
}
],
"hubs": [
{
"url": "https://mycompany.devolutions.app",
"organizationId": "your-org-guid-here"
}
],
"configs": {
"language": "en-US",
"lockingOption": "biometric",
"clearClipboardSensitiveData": true,
"clipboardTimer": 60
}
}
Plusieurs serveurs Ajouter plus d'objets au tableau dvls.
Système complet :
/Library/Application Support/Devolutions/Workspace/DefaultConfig.cfgPar utilisateur :
~/Library/Application Support/Workspace/Config.cfgMDM (priorité la plus élevée) : domaine de préférences
net.devolutions.authenticator
MDM Managed Preferences (priorité la plus élevée)
Fichier de configuration utilisateur
Fichier de configuration système
{
"language": "en-US",
"reduceToTrayOnClose": true,
"useFavicon": true,
"useEntriesSyncOnDatasourceAccess": true
}
password- Mot de passe maîtrebiometric- Touch ID
en-US, fr, de, es, cs, hu, it, nl, pl, ru, sv, tr, uk, zh-CHS, zh-TW
Cliquer ici pour voir tous les paramètres disponibles.
Vérifier le domaine de préférence :
net.devolutions.authenticatorVérifier l'état du profil : Préférences Système – Profils
Forcer l'actualisation :
sudo profiles renew -type enrollment
Vérifier l'emplacement des fichiers et les droits (
chmod 644)Valider la syntaxe JSON (pas de virgules finales)
Supprimer la configuration utilisateur pour permettre l'application de la configuration système
Vérifier si le Mac dispose du matériel Touch ID
Vérifier que Touch ID est configuré dans les Préférences Système
Revenir au mot de passe si indisponible
Cliquer icipour voir le guide complet de résolution de problèmes.
Is this a managed Mac?
├─ YES (Jamf/Intune) – Use MDM profiles
│ (Highest priority, centralized)
│
└─ NO – Use config files
- System-wide: /Library/Application Support/...
- Per-user: ~/Library/Application Support/...
Vérifier les paramètres MDM :
defaults read net.devolutions.authenticator
Vérifier le paramètre spécifique :
defaults read net.devolutions.authenticator language
Apprendre comment déployer rapidement l'application Workspace iOS avec des sources de données et paramètres préconfigurés sur les appareils iOS.
Cliquer ici pour voir la documentation complète iOS pour des instructions détaillées, la résolution de problèmes et des scénarios avancés.
La pré-configuration MDM vous permet de déployer l'application iOS Workspace avec :
Sources de données déjà configurées (Devolutions Server, Devolutions Hub Business)
Paramètres de l'application pré-appliqués (sécurité, options de verrouillage)
Aucune configuration utilisateur requise - les utilisateurs lancent et sont immédiatement productifs
Serveur Jamf Pro ou solution MDM d'Apple
Application Workspace déployée via MDM
iOS 13.0+ sur les appareils gérés
Appareils inscrits dans le MDM
Télécharger le fichier de spécification AppConfig.
Télécharger vers le Générateur Jamf AppConfig et configurer les paramètres via le formulaire GUI.
Télécharger le plist généré.
Dans Jamf Pro, naviguer vers Mobile Device Apps – Workspace – App Configuration.
Coller le plist généré.
Cibler les appareils.
Déployer.
Si vous ne utilisez pas le fichier de spécification, entrer la configuration directement en tant que dictionnaire plist dans le champ de configuration d'application de Jamf Pro. Utiliser le format de clé plate (l'application le transforme automatiquement) :
{
"dvls": [
{
"name": "Production DVLS",
"serverUrl": "https://dvls.company.com",
"serverVersion": "2024.1"
}
],
"hubs": [
{
"url": "https://workspace.devolutions.app",
"organizationId": "your-org-id",
"type": "business",
"version": "2020"
}
],
"configs": {
"lockingOption": "biometric",
"useBackgroundLock": true,
"backgroundLockDelay": 0,
"useLockWhenInactive": true,
"lockInactivityDelay": 300
}
{
"dvls": [
{
"name": "Corporate DVLS",
"serverUrl": "https://dvls.company.com"
}
]
}
{
"hubs": [
{
"url": "https://workspace.devolutions.app",
"organizationId": "",
"type": "business",
"version": "2020"
}
],
"configs": {
"lockingOption": "biometric",
"useBackgroundLock": true,
"backgroundLockDelay": 0
}
}
{
"dvls": [
{
"name": "Production DVLS",
"serverUrl": "https://dvls-prod.company.com"
},
{
"name": "Test DVLS",
"serverUrl": "https://dvls-test.company.com"
}
],
"hubs": [
{
"url": "https://workspace.devolutions.app",
"organizationId": "org-abc123",
"type": "business",
"version": "2020"
}
]
}
| Paramètre | Valeurs | Description |
|---|---|---|
| lockingOption | "", "biometric" |
Méthode de verrouillage de l'application. |
| useBackgroundLock | true, false |
Verrouiller lorsqu'en arrière-plan. |
| arrière-planVerrouillageRetard | 0, 60, 300, 900, 1800, 3600 |
Délai avant verrouillage (secondes). |
| useLockWhenInactive | true, false |
Verrouiller automatiquement après une période d'inactivité. |
| lockInactivityDelay | 30, 60, 120, 180, 240, 300 |
Délai d'inactivité (secondes). |
| Paramètre | Valeurs | Description |
|---|---|---|
| useFavicon | true, false |
Télécharger les favicônes du site Web. |
| autoSearch | true, false |
Permettre la recherche automatique dans le coffre. |
| useHubEmbeddedBrowser | true, false |
Utiliser le navigateur intégré pour Devolutions Hub. |
| highlightSpecialCharacters | true, false |
Mettre en évidence les caractères spéciaux. |
| shareUsageData | true, false |
Partager des analyses anonymes. |
Vérifier l'appareil : Paramètres – Général – VPN & Gestion de l'appareil
Vérifier si l'application est gérée par MDM (déployée via MDM, pas l'App Store)
Valider la syntaxe JSON (utilisez jsonlint.com)
Supprimer et réinstaller l'application
Nouveau dans 2025.3.2 : les utilisateurs peuvent maintenant supprimer les sources de données en attente
Appuyer longuement sur la source de données – Sélectionner Supprimer
Vérifier que l'appareil dispose de matériel biométrique
Vérifier que Face ID/Touch ID est configuré dans les Paramètres
Revenir au code secret si indisponible
{
"lockingOption": "biometric",
"useBackgroundLock": true,
"backgroundLockDelay": 0,
"useLockWhenInactive": true,
"lockInactivityDelay": 300,
}
Imposer Face ID/Touch ID
Verrouiller immédiatement lorsqu'en arrière-plan
Se verrouille automatiquement après 5 minutes d'inactivité
Inclure le protocole (
https://)Être des URL valides et accessibles
Pas de barre oblique finale
https://dvls.company.comdvls.company.com(manquant https://)
Télécharger le fichier de spécification AppConfig.
Téléverser vers le Jamf AppConfig Generator.
Configurer les paramètres via le formulaire GUI.
Télécharger le plist généré.
Dans Jamf Pro: Applications pour dispositifs mobiles – Workspace – Configuration de l'application.
Coller le plist, cibler les appareils, déployer.
Vérifier sur le dispositif de test.
Ci-dessous est le fichier de spécification AppConfig au format .xml.
<?xml version="1.0" encoding="UTF-8"?>
<managedAppConfiguration>
<version>1</version>
<bundleId>net.devolutions.workspace.mobile</bundleId>
<dict>
<!-- DVLS configuration -->
<string keyName="dvls_serverUrl"></string>
<!-- Hub Business configuration -->
<string keyName="hub_url"></string>
<string keyName="hub_organizationId"></string>
<!-- Security settings -->
<string keyName="language">en-US</string>
<string keyName="lockingOption"></string>
<boolean keyName="useBackgroundLock">false</boolean>
<integer keyName="backgroundLockDelay">0</integer>
<boolean keyName="useLockWhenInactive">false</boolean>
<integer keyName="lockInactivityDelay">30</integer>
<!-- General settings -->
<boolean keyName="shareUsageData">false</boolean>
<boolean keyName="useFavicon">false</boolean>
<boolean keyName="autoSearch">false</boolean>
<boolean keyName="useHubEmbeddedBrowser">true</boolean>
<boolean keyName="highlightSpecialCharacters">false</boolean>
</dict>
<presentation defaultLocale="en-US">
<!-- DVLS server URL -->
<field keyName="dvls_serverUrl" type="input">
<label>
<language value="en-US">DVLS Server URL</language>
</label>
<description>
<language value="en-US">Full URL to the DVLS server including https:// (e.g., https://dvls.company.com)</language>
</description>
</field>
<!-- Hub Business URL -->
<field keyName="hub_url" type="input">
<label>
<language value="en-US">Hub Business URL</language>
</label>
<description>
<language value="en-US">Full Hub URL including https:// (e.g., https://yourcompany.devolutions.app)</language>
</description>
</field>
<!-- Hub organization ID -->
<field keyName="hub_organizationId" type="input">
<label>
<language value="en-US">Hub Organization ID</language>
</label>
<description>
<language value="en-US">Organization identifier for Hub Business (optional)</language>
</description>
</field>
<!-- Language -->
<field keyName="language" type="select">
<label>
<language value="en-US">Language</language>
</label>
<description>
<language value="en-US">App display language</language>
</description>
<options>
<option value="en-US">
<language value="en-US">English (US)</language>
</option>
<option value="fr">
<language value="en-US">French</language>
</option>
<option value="de">
<language value="en-US">German</language>
</option>
<option value="es">
<language value="en-US">Spanish</language>
</option>
<option value="cs">
<language value="en-US">Czech</language>
</option>
<option value="hu">
<language value="en-US">Hungarian</language>
</option>
<option value="it">
<language value="en-US">Italian</language>
</option>
<option value="nl">
<language value="en-US">Dutch</language>
</option>
<option value="pl">
<language value="en-US">Polish</language>
</option>
<option value="ru">
<language value="en-US">Russian</language>
</option>
<option value="sv">
<language value="en-US">Swedish</language>
</option>
<option value="tr">
<language value="en-US">Turkish</language>
</option>
<option value="uk">
<language value="en-US">Ukrainian</language>
</option>
<option value="zh-CHS">
<language value="en-US">Chinese (Simplified)</language>
</option>
<option value="zh-TW">
<language value="en-US">Chinese (Traditional)</language>
</option>
</options>
</field>
<!-- Locking option -->
<field keyName="lockingOption" type="select">
<label>
<language value="en-US">Locking Method</language>
</label>
<description>
<language value="en-US">Authentication method for app locking</language>
</description>
<options>
<option value="">
<language value="en-US">None</language>
</option>
<option value="biometric">
<language value="en-US">Biometric (Touch ID/Face ID)</language>
</option>
</options>
</field>
<!-- Lock when backgrounded -->
<field keyName="useBackgroundLock" type="checkbox">
<label>
<language value="en-US">Lock When Backgrounded</language>
</label>
<description>
<language value="en-US">Lock app when it goes to background</language>
</description>
</field>
<!-- Background lock delay -->
<field keyName="backgroundLockDelay" type="select">
<label>
<language value="en-US">Background Lock Delay</language>
</label>
<description>
<language value="en-US">Time to wait before locking when backgrounded</language>
</description>
<options>
<option value="0">
<language value="en-US">Immediately</language>
</option>
<option value="60">
<language value="en-US">1 minute</language>
</option>
<option value="300">
<language value="en-US">5 minutes</language>
</option>
<option value="900">
<language value="en-US">15 minutes</language>
</option>
<option value="1800">
<language value="en-US">30 minutes</language>
</option>
<option value="3600">
<language value="en-US">1 hour</language>
</option>
</options>
</field>
<!-- Auto-lock when inactive -->
<field keyName="useLockWhenInactive" type="checkbox">
<label>
<language value="en-US">Auto-Lock When Inactive</language>
</label>
<description>
<language value="en-US">Lock after period of inactivity</language>
</description>
</field>
<!-- Inactivity lock delay -->
<field keyName="lockInactivityDelay" type="select">
<label>
<language value="en-US">Inactivity Lock Delay</language>
</label>
<description>
<language value="en-US">Time before locking due to inactivity</language>
</description>
<options>
<option value="30">
<language value="en-US">30 seconds</language>
</option>
<option value="60">
<language value="en-US">1 minute</language>
</option>
<option value="120">
<language value="en-US">2 minutes</language>
</option>
<option value="180">
<language value="en-US">3 minutes</language>
</option>
<option value="240">
<language value="en-US">4 minutes</language>
</option>
<option value="300">
<language value="en-US">5 minutes</language>
</option>
</options>
</field>
<!-- Share usage data -->
<field keyName="shareUsageData" type="checkbox">
<label>
<language value="en-US">Share Usage Data</language>
</label>
<description>
<language value="en-US">Share anonymous usage analytics</language>
</description>
</field>
<!-- Use favicons -->
<field keyName="useFavicon" type="checkbox">
<label>
<language value="en-US">Use Favicons</language>
</label>
<description>
<language value="en-US">Download and display website favicons for entries</language>
</description>
</field>
<!-- Auto search -->
<field keyName="autoSearch" type="checkbox">
<label>
<language value="en-US">Auto Search</language>
</label>
<description>
<language value="en-US">Enable auto-search in vaults</language>
</description>
</field>
<!-- Use Hub embedded browser -->
<field keyName="useHubEmbeddedBrowser" type="checkbox">
<label>
<language value="en-US">Use Hub Embedded Browser</language>
</label>
<description>
<language value="en-US">Open Hub connections in embedded browser</language>
</description>
</field>
<!-- Highlight special characters -->
<field keyName="highlightSpecialCharacters" type="checkbox">
<label>
<language value="en-US">Highlight Special Characters</language>
</label>
<description>
<language value="en-US">Highlight special characters in passwords</language>
</description>
</field>
</presentation>
</managedAppConfiguration>