> For the complete documentation index, see [llms.txt](https://docs.devolutions.net/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.devolutions.net/password-manager/de/knowledge-base/application-knowledge-base/devolutions-password-manager-pre-configuration.md).

# Devolutions Password Manager Vorkonfiguration

{% tabs %}
{% tab title="Windows" %}

#### Was ist Vorkonfiguration?

Die Vorkonfiguration ermöglicht IT-Administratoren, die Windows-App von Devolutions Password Manager mit vorkonfigurierten Einstellungen und Datenquellen (Devolutions Server und Devolutions Cloud) auf Windows-Endpunkten bereitzustellen. Dadurch entfällt die Notwendigkeit, dass Endbenutzer die Anwendung nach der Installation manuell konfigurieren müssen.

#### Wichtigste Vorteile

* Zero-Touch-Bereitstellung: Benutzer starten mit vollständig konfigurierten Anwendungen
* Konsistenz: Stellen Sie sicher, dass alle Benutzer dieselben Datenquellen und Einstellungen haben
* Zeitersparnis: Manuelle Konfigurationsschritte entfallen
* Flexibilität: Mehrere Bereitstellungsmethoden für unterschiedliche IT-Infrastrukturen
* Skalierbarkeit: Effiziente Bereitstellung auf Hunderten oder Tausenden von Endpunkten

#### Wie es funktioniert

1. Ein IT-Administrator konfiguriert Datenquellen und Einstellungen über MSI-Parameter oder Konfigurationsdateien.
2. Das Bereitstellungstool überträgt die Installation auf verwaltete Geräte (Intune, SCCM, PDQ Deploy usw.).
3. Benutzer starten die App zum ersten Mal.
4. Die App liest die Konfiguration und erstellt automatisch Datenquellen.
5. Benutzer melden sich an, um die Verbindung abzuschließen.

#### Wichtige Hinweise

* Authentifizierung erforderlich: Vorkonfigurierte Datenquellen werden in einem Status „ausstehend“ erstellt. Benutzer müssen sich dennoch anmelden, um die Verbindung abzuschließen.
* Nur beim ersten Start: Die Konfiguration wird einmalig beim ersten Start angewendet. Nachfolgende Änderungen erfordern eine Neuinstallation der App oder eine manuelle Konfiguration.
* Anmeldeinformationen werden NICHT gespeichert: Die Vorkonfiguration umfasst KEINE Benutzeranmeldeinformationen. Benutzer müssen sich mit ihren eigenen Anmeldeinformationen anmelden.

### Bereitstellungsmethoden

#### Methode 1: Parameter des MSI-Installationsprogramms

Übergeben Sie Konfigurationsparameter während der Bereitstellung direkt an das Windows-Installationsprogramm. Sie können Datenquellenparameter mit Anwendungseinstellungen kombinieren.

Anwendungsfall: Schnelle Bereitstellungen, einfache Konfigurationen, Tests

* Einfaches Beispiel (nur Datenquellen):

```bash
msiexec /i Devolutions.PasswordManager.msi /qn DVLS_SERVER_URL="https://server.com" HUB_NAME="mycompany"
```

* Mit Einstellungen (Datenquellen + Anwendungseinstellungen):

```bash
msiexec /i Devolutions.PasswordManager.msi /qn ^
  DVLS_SERVER_URL="https://server.com" ^
  HUB_NAME="mycompany" ^
  ORGANIZATION_ID="guid-here" ^
  LANGUAGE="fr" ^
  LOCKING_OPTION="windowsCredentials"
```

Einschränkungen: Über MSI-Parameter kann nur ein Devolutions Server konfiguriert werden. Verwenden Sie für mehrere Server Methode 2.

#### Methode 2: Bereitstellung per Konfigurationsdatei (empfohlen für Unternehmen)

Stellen Sie eine vorab erstellte `.cfg`-Datei auf Zielsystemen bereit.

* Anwendungsfall: Intune, SCCM, komplexe Konfigurationen, mehrere Datenquellen

**Option A: Systemweite Bereitstellung (DEPLOY\_CONFIG) – EMPFOHLEN**

```bash
msiexec /i Devolutions.PasswordManager.msi /qn DEPLOY_CONFIG="C:\path\to\Config.cfg"
```

* Ziel: `%ProgramData%\net.devolutions\Devolutions Password Manager\DefaultConfig.cfg`
* Wie es funktioniert:

1. MSI schreibt die Konfiguration während der Installation nach ProgramData
2. Wenn ein Benutzer Devolutions Password Manager startet, erkennt die App die systemweite Konfiguration
3. Die Konfiguration wird automatisch in das Roaming-Profil des Benutzers kopiert
4. Der Benutzer hat eine konfigurierte Anwendung

**Warum DEPLOY\_CONFIG für Unternehmen:**

1. Zuverlässig: Funktioniert unabhängig vom Benutzerkontext (keine Probleme mit „Standardbenutzer“)
2. Konsistent: Alle Benutzer auf dem Computer erhalten dieselbe Konfiguration
3. Automatisierungsfreundlich: Perfekt für Intune, SCCM und stille Installationen
4. Mehrbenutzer-Unterstützung: Gilt für alle bestehenden und zukünftigen Benutzer

* Am besten geeignet für: Intune, SCCM, stille Installationen, Mehrbenutzer-Computer, gemeinsam genutzte Arbeitsstationen

**Option B: Benutzerbezogene Bereitstellung (USER\_CONFIG)**

```bash
msiexec /i Devolutions.PasswordManager.msi /qn USER_CONFIG="C:\path\to\Config.cfg"
```

* Ziel: `%LOCALAPPDATA%\net.devolutions\Devolutions Password Manager\Config.cfg`
* Wie es funktioniert:

1. MSI schreibt die Konfiguration in das lokale AppData des installierenden Benutzers
2. Der Benutzer startet Devolutions Password Manager
3. Die Konfiguration wird in das Roaming-Profil des Benutzers kopiert
4. Nur dieser Benutzer hat eine konfigurierte Anwendung

* Einschränkungen:

1. Konfiguriert nur den Benutzer, der das Installationsprogramm ausgeführt hat
2. Kann bei automatisierten Bereitstellungen fehlschlagen (Probleme mit dem Benutzerkontext)
3. Nicht geeignet für Mehrbenutzer-Computer

* Am besten geeignet für: Interaktive Installationen durch Endbenutzer, Einzelbenutzergeräte

#### Methode 3: UI-basierter Konfigurations-Ersteller

Verwenden Sie die Desktop-Anwendung, um Konfigurationsdateien und MSI-Befehle zu erstellen.

* Anwendungsfall: IT-Administratoren, die Bereitstellungspakete vorbereiten
* Zugriff: ***Tools*** – ***Custom installation*** (in der Desktop-Anwendung)

Weitere Informationen finden Sie im Abschnitt zum Konfigurationsdatei-Ersteller.

### Struktur der Konfigurationsdatei

Konfigurationsdateien verwenden die Erweiterung `.cfg` und enthalten Daten im JSON-Format.

#### Dateiformat

```json
{
  "hubs": [
    {
      "url": "https://mycompany.devolutions.app",
      "organizationId": "00000000-0000-0000-0000-000000000000",
      "type": "Business",
      "version": ""
    }
  ],
  "dvls": [
    {
      "name": "Production DVLS",
      "serverUrl": "https://devolutions-server.company.com",
      "serverVersion": ""
    },
    {
      "name": "Development DVLS",
      "serverUrl": "https://devolutions-server-dev.company.com",
      "serverVersion": ""
    }
  ],
  "configs": {
    "language": "en-US",
    "reduceToTrayOnClose": true,
    "clearClipboardSensitiveData": true,
    "clipboardTimer": 30,
    "useFavicon": true,
    "useEntriesSyncOnDatasourceAccess": false,
    "useHubEmbeddedBrowser": true,
    "shareUsageData": false,
    "lockingOption": "windowsCredentials",
    "useBackgroundLock": true,
    "useLockWhenInactive": true,
    "lockInactivityDelay": 300
  }
}
```

#### Schema-Komponenten

**Devolutions Cloud-Array (optional)**

Array der zu konfigurierenden Devolutions Cloud-Instanzen.

| Feld               | Typ    | Erforderlich | Beschreibung                                                                 |
| ------------------ | ------ | ------------ | ---------------------------------------------------------------------------- |
| **url**            | string | Ja           | Devolutions Cloud-URL (z. B. `https://mycompany.devolutions.app`)            |
| **organizationId** | string | Ja           | Organisations-GUID                                                           |
| **type**           | string | Nein         | Immer „Business“ (automatisch ausgefüllt)                                    |
| **version**        | string | Nein         | Devolutions Cloud-Version (bei der ersten Verbindung automatisch ausgefüllt) |

**Devolutions Server-Array (optional)**

Array der zu konfigurierenden Devolutions Server-Instanzen.

| Feld              | Typ    | Erforderlich | Beschreibung                                                            |
| ----------------- | ------ | ------------ | ----------------------------------------------------------------------- |
| **name**          | string | Ja           | Anzeigename für den Server                                              |
| **serverUrl**     | string | Ja           | Devolutions Server-URL (z. B. `https://devolutions-server.company.com`) |
| **serverVersion** | string | Nein         | Serverversion (bei der ersten Verbindung automatisch ausgefüllt)        |

**Configs-Objekt (optional)**

Vorzukonfigurierende Anwendungseinstellungen.

Eine vollständige Liste finden Sie unter [Referenz der Konfigurationseinstellungen](#configuration-settings-reference).

### Speicherorte der Konfigurationsdateien

Konfigurationsdateien werden je nach Speicherort in einer Prioritätsreihenfolge geladen.

#### Konfiguration auf Benutzerebene

* Roaming AppData: `%APPDATA%\net.devolutions\Devolutions Password Manager\Config.cfg`
* Standard: `C:\Users\[Username]\AppData\Roaming\net.devolutions\Devolutions Password Manager\Config.cfg`
* Synchronisiert über domänenbeigetretene Computer hinweg
* Höchste Priorität (benutzerspezifisch)
* Local AppData: `%LOCALAPPDATA%\net.devolutions\Devolutions Password Manager\Config.cfg`
* Standard: `C:\Users\[Username]\AppData\Local\net.devolutions\Devolutions Password Manager\Config.cfg`
* Computerspezifisch, nicht synchronisiert
* Wird während der MSI-Installation verwendet und anschließend nach Roaming kopiert

#### Systemweite Konfiguration

* ProgramData: `%ProgramData%\net.devolutions\Devolutions Password Manager\DefaultConfig.cfg`
* Standard: `C:\ProgramData\net.devolutions\Devolutions Password Manager\DefaultConfig.cfg`
* Gilt für alle Benutzer auf dem System
* Erfordert die Indikatordatei `config.ready` im selben Verzeichnis
* Wird beim ersten Start an den Roaming-Speicherort des Benutzers kopiert (wenn keine Benutzerkonfiguration existiert)

#### Indikatordatei

* Datei: `config.ready`
* Speicherort: Dasselbe Verzeichnis wie `DefaultConfig.cfg`
* Zweck: Signalisiert, dass die systemweite Konfiguration für die Bereitstellung bereit ist
* Inhalt: Leere Datei, nur das Vorhandensein wird geprüft

#### Prioritätsreihenfolge

Konfigurationsquellen werden in der folgenden Reihenfolge geprüft (die erste gefundene gewinnt):

1. Benutzerkonfigurationsdatei – Benutzer – spezifische Konfiguration
2. Systemkonfigurationsdatei – System – weiter Standard (an den Benutzerspeicherort kopiert)

### MSI-Installer-Parameter

Der Windows-MSI-Installer akzeptiert die folgenden Parameter für die Vorkonfiguration.

#### Datenquellen-Parameter

**Devolutions Server-Konfiguration**

| Parameter             | Typ    | Beschreibung           | Beispiel                                 |
| --------------------- | ------ | ---------------------- | ---------------------------------------- |
| **DVLS\_SERVER\_URL** | String | Devolutions Server-URL | `https://devolutions-server.company.com` |

* Hinweis: Es kann nur ein (Devolutions Server über MSI-Parameter konfiguriert werden. Verwenden Sie für mehrere Server eine Konfigurationsdatei.)

**Devolutions Cloud-Konfiguration**

| Parameter            | Typ    | Beschreibung                                                       | Beispiel                               |
| -------------------- | ------ | ------------------------------------------------------------------ | -------------------------------------- |
| **HUB\_NAME**        | String | Devolutions Cloud-Subdomain-Name (erforderlich)                    | `mycompany`                            |
| **ORGANIZATION\_ID** | String | Organisations-GUID (optional – leer lassen, falls nicht anwendbar) | `00000000-0000-0000-0000-000000000000` |

* Hinweis: Die vollständige Devolutions Cloud-URL wird als `https://{HUB_NAME}.devolutions.app` zusammengesetzt
* Hinweis: `ORGANIZATION_ID` ist optional. Einige Devolutions Cloud-Instanzen benötigen keine Organisations-ID. Falls nicht anwendbar, können Sie diesen Parameter weglassen oder eine leere Zeichenfolge übergeben.

#### Parameter für die Bereitstellung von Konfigurationsdateien

| Parameter          | Typ    | Beschreibung                                            | Zielspeicherort                                                                |
| ------------------ | ------ | ------------------------------------------------------- | ------------------------------------------------------------------------------ |
| **DEPLOY\_CONFIG** | String | Systemweite Konfiguration (empfohlen)                   | `%ProgramData%\net.devolutions\Devolutions Password Manager\DefaultConfig.cfg` |
| **USER\_CONFIG**   | String | Konfiguration pro Benutzer (interaktive Installationen) | `%LOCALAPPDATA%\net.devolutions\Devolutions Password Manager\Config.cfg`       |

#### Parameter für Anwendungseinstellungen

**Allgemeine Einstellungen**

| Parameter            | Typ    | Werte                        | Standard  | Beschreibung                           |
| -------------------- | ------ | ---------------------------- | --------- | -------------------------------------- |
| **TARGET\_LOCATION** | String | `roaming`, `local`, `system` | `roaming` | Wo die Konfiguration gespeichert wird. |
| **LANGUAGE**         | String | Sprachcode                   | `en-US`   | Anwendungssprache.                     |

**Einstellungen der Benutzeroberfläche**

| Parameter                       | Typ    | Werte           | Standard | Beschreibung                                                                 |
| ------------------------------- | ------ | --------------- | -------- | ---------------------------------------------------------------------------- |
| **REDUCE\_TO\_TRAY\_ON\_CLOSE** | String | `true`, `false` | `false`  | Beim Schließen in den Systembereich minimieren statt schließen.              |
| **USE\_FAVICON**                | String | `true`, `false` | `false`  | Website-Favicons herunterladen und anzeigen.                                 |
| **USE\_HUB\_EMBEDDED\_BROWSER** | String | `true`, `false` | `true`   | Eingebetteten Browser für die Devolutions Cloud-Authentifizierung verwenden. |

**Sicherheitseinstellungen**

| Parameter                             | Typ    | Werte                                         | Standard | Beschreibung                                                         |
| ------------------------------------- | ------ | --------------------------------------------- | -------- | -------------------------------------------------------------------- |
| **CLEAR\_CLIPBOARD\_SENSITIVE\_DATA** | String | `true`, `false`                               | `false`  | Zwischenablage nach dem Kopieren von Passwörtern automatisch leeren. |
| **CLIPBOARD\_TIMER**                  | Number | Sekunden (1-999)                              | `30`     | Sekunden bis zum Leeren der Zwischenablage.                          |
| **LOCKING\_OPTION**                   | String | `password`, `biometric`, `windowsCredentials` | (keine)  | Methode zum Sperren der Anwendung.                                   |
| **USE\_BACKGROUND\_LOCK**             | String | `true`, `false`                               | `false`  | Sperren, wenn in den Systembereich minimiert.                        |
| **USE\_LOCK\_WHEN\_INACTIVE**         | String | `true`, `false`                               | `false`  | Nach einer Zeit der Inaktivität sperren.                             |
| **LOCK\_INACTIVITY\_DELAY**           | Zahl   | Sekunden (30-3600)                            | `30`     | Sekunden bis zur automatischen Sperrung.                             |

**Synchronisierungseinstellungen**

| Parameter                                      | Typ    | Werte           | Standard | Beschreibung                                                                        |
| ---------------------------------------------- | ------ | --------------- | -------- | ----------------------------------------------------------------------------------- |
| **USE\_ENTRIES\_SYNC\_ON\_DATASOURCE\_ACCESS** | String | `true`, `false` | `false`  | Einträge beim Zugriff auf Devolutions Password Manager automatisch synchronisieren. |

**Datenschutzeinstellungen**

| Parameter              | Typ    | Werte           | Standard | Beschreibung                        |
| ---------------------- | ------ | --------------- | -------- | ----------------------------------- |
| **SHARE\_USAGE\_DATA** | String | `true`, `false` | `true`   | Anonyme Nutzungsstatistiken teilen. |

### Ersteller von Konfigurationsdateien

Die Desktop-Anwendung enthält ein visuelles Werkzeug zum Erstellen von Konfigurationsdateien.

#### Zugriff auf das Werkzeug

1. Starten Sie Devolutions Password Manager.
2. Navigieren Sie zu: ***Tools*** – ***Custom Installation***.

#### Funktionen

**Registerkarte Export (Konfiguration erstellen)**

1. Auswahl der Datenquelle.

* Alle konfigurierten Instanzen anzeigen (Devolutions Server und Devolutions Cloud)
* Wählen Sie über Kontrollkästchen aus, welche Datenquellen einbezogen werden sollen
* Mehrere Datenquellen werden unterstützt

2. Konfiguration der Einstellungen

* Einzelne Anwendungseinstellungen, nach Kategorie gruppiert, aktivieren/deaktivieren:
* Allgemein (Sprache, Verhalten der Taskleiste)
* Sicherheit (Zwischenablage, Sperrung)
* Synchronisierung
* Datenschutz (Nutzungsstatistiken)

3. Live-Vorschau

* Echtzeit-JSON-Vorschau der Konfiguration
* JSON in die Zwischenablage kopieren
* Die Vorschau wird aktualisiert, wenn sich die Auswahl ändert

4. Exportoptionen

* .cfg-Datei erstellen: Konfiguration in einer `.cfg`-Datei speichern
* MSI-Befehl kopieren: Vollständigen MSI-Befehl mit allen Parametern erstellen

**Registerkarte Import (Konfiguration laden)**

1. Dateiauswahl

* Nach `.cfg`-Dateien suchen
* Dateivalidierung und -analyse

2. Vorschau vor dem Import

* Datenquellen und Einstellungen vor dem Anwenden anzeigen
* Duplikaterkennung (warnt, wenn die Datenquelle bereits existiert)

3. Importaktionen

* Wendet die Konfiguration auf die aktuelle Anwendung an
* Erstellt neue Datenquellen, wenn sie nicht existieren
* Aktualisiert Einstellungen sofort

### Referenz der Konfigurationseinstellungen

Vollständige Referenz aller konfigurierbaren Einstellungen.

#### Zuordnung der Einstellungsschlüssel

| Exportschlüssel (Config/MSI)         | Interner Schlüssel          | Typ     | Standard | Beschreibung                                                                |
| ------------------------------------ | --------------------------- | ------- | -------- | --------------------------------------------------------------------------- |
| **language**                         | languageCode                | String  | `en-US`  | Sprache der Anwendungsoberfläche                                            |
| **reduceToTrayOnClose**              | minimizeOnClose             | Boolean | `false`  | In die Taskleiste minimieren, anstatt zu beenden                            |
| **clearClipboardSensitiveData**      | removeSensitiveFromKeyboard | Boolean | `false`  | Timer zum automatischen Leeren der Zwischenablage                           |
| **clipboardTimer**                   | clipboardTimer              | Integer | `30`     | Sekunden bis zum Leeren der Zwischenablage (1-999)                          |
| **useFavicon**                       | useRichIcons                | Boolean | `false`  | Website-Favicons für Einträge herunterladen                                 |
| **useEntriesSyncOnDatasourceAccess** | useEntriesSyncSpaceAccess   | Boolean | `false`  | Einträge beim Zugriff auf die Datenquelle automatisch synchronisieren       |
| **useHubEmbeddedBrowser**            | hubEmbeddedBrowser          | Boolean | `true`   | Eingebetteten Browser für die Devolutions Cloud-Authentifizierung verwenden |
| **shareUsageData**                   | shareAnonymousData          | Boolean | `true`   | Anonyme Nutzungsstatistiken teilen                                          |
| **lockingOption**                    | lockingOption               | String  | `(none)` | Sperrmethode: `password`, `biometric`, `windowsCredentials`                 |
| **useBackgroundLock**                | useBackgroundLock           | Boolean | `false`  | Sperren, wenn im Infobereich minimiert                                      |
| **useLockWhenInactive**              | useLockWhenInactive         | Boolean | `false`  | Nach Inaktivitätszeitraum sperren                                           |
| **lockInactivityDelay**              | lockInactivityDelay         | Integer | `30`     | Sekunden bis zur automatischen Sperrung (30-3600)                           |

#### Unterstützte Sprachen

| Code     | Sprache                       |
| -------- | ----------------------------- |
| `en-US`  | Englisch (Vereinigte Staaten) |
| `fr`     | Französisch                   |
| `de`     | Deutsch                       |
| `es`     | Spanisch                      |
| `cs`     | Tschechisch                   |
| `hu`     | Ungarisch                     |
| `it`     | Italienisch                   |
| `nl`     | Niederländisch                |
| `pl`     | Polnisch                      |
| `ru`     | Russisch                      |
| `sv`     | Schwedisch                    |
| `tr`     | Türkisch                      |
| `uk`     | Ukrainisch                    |
| `zh-CHS` | Chinesisch (vereinfacht)      |
| `zh-TW`  | Chinesisch (traditionell)     |

#### Sperroptionen

| Wert                   | Beschreibung          | Anforderungen                                   |
| ---------------------- | --------------------- | ----------------------------------------------- |
| **password**           | Master-Passwort       | Benutzer legt Passwort beim ersten Sperren fest |
| **biometric**          | Fingerabdruck/Face ID | Biometrische Hardware erforderlich              |
| **windowsCredentials** | Windows Hello         | Windows 10/11 mit Windows Hello                 |

* Hinweis: Wenn Windows Hello nicht verfügbar ist, wird auf das Passwort zurückgegriffen.

### Bereitstellungsbeispiele

#### Beispiel 1: Einzelner Devolutions Server mit Sicherheitseinstellungen

```bash
msiexec /i Devolutions.PasswordManager.msi /qn ^
  DVLS_SERVER_URL="https://devolutions-server.company.com" ^
  LOCKING_OPTION="windowsCredentials" ^
  USE_LOCK_WHEN_INACTIVE="true" ^
  LOCK_INACTIVITY_DELAY="300" ^
  CLEAR_CLIPBOARD_SENSITIVE_DATA="true" ^
  CLIPBOARD_TIMER="60"
```

#### Beispiel 2: Devolutions Cloud mit französischer Sprache

```bash
# With Organization ID
msiexec /i Devolutions.PasswordManager.msi /qn ^
  HUB_NAME="mycompany" ^
  ORGANIZATION_ID="12345678-1234-1234-1234-123456789abc" ^
  LANGUAGE="fr" ^
  REDUCE_TO_TRAY_ON_CLOSE="true"

# Without Organization ID (for Devolutions Cloud instances that don't require it)
msiexec /i Devolutions.PasswordManager.msi /qn ^
  HUB_NAME="mycompany" ^
  LANGUAGE="fr" ^
  REDUCE_TO_TRAY_ON_CLOSE="true"
```

#### Beispiel 3: Microsoft Intune-Bereitstellung

**Schritt 1: Dateien vorbereiten**

Erstellen Sie einen Arbeitsordner (z. B. `C:\IntuneApps\Devolutions Password Manager\`) und legen Sie diese Dateien darin ab:

* `Devolutions.PasswordManager.msi`
* `config.cfg` (erstellt über ***Tools*** – ***Custom installation*** oder manuell)
* `Install-Devolutions.PasswordManager.ps1` (PowerShell-Skript unten)

**Schritt 2: PowerShell-Installationsskript**

Erstellen Sie `Install-Devolutions.PasswordManager.ps1`:

```powershell
# Install-Devolutions.PasswordManager.ps1
# Source files in the Intune package
$ConfigSource = "$PSScriptRoot\config.cfg"
$ConfigTarget = "C:\Program Files\config.cfg"
$MsiPath = "$PSScriptRoot\Devolutions.PasswordManager.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

# Return exit code to Intune
exit $Process.ExitCode
```

**Schritt 3: .intunewin-Paket erstellen**

Verwenden Sie das Microsoft Win32 Content Prep Tool (`IntuneWinAppUtil.exe`):

```bash
IntuneWinAppUtil.exe -c C:\IntuneApps\Devolutions Password Manager -s Install-Devolutions.PasswordManager.ps1 -o C:\IntuneApps\Output
```

**Schritt 4: Intune-Anwendung konfigurieren**

Im Microsoft Intune Portal:

1. Navigieren Sie zu: **Apps** – **Windows** – **Add** – **Windows app (Win32)**
2. App-Paketdatei: Laden Sie `Devolutions Password Manager.intunewin` hoch
3. App-Informationen: Name, Beschreibung und Herausgeber eingeben
4. Programmkonfiguration:

* Installationsbefehl: `powershell.exe -ExecutionPolicy Bypass -File .\Install-Devolutions.PasswordManager.ps1`
* Deinstallationsbefehl: `msiexec.exe /x {PRODUCT-CODE-GUID} /qn /norestart`
* Installationsverhalten: System

5. Anforderungen: Windows 10 1607+ (64-Bit)
6. Erkennungsregeln: MSI-Produktcode (automatisch erkannt)
7. Zuweisungen: Den Zielgruppen zuweisen

**Installationsablauf auf dem Endpunkt**

Wenn die App auf einem Gerät bereitgestellt wird, geschieht Folgendes automatisch:

1. Intune lädt `Install-Devolutions.PasswordManager.ps1` herunter und führt es aus
2. Das Skript kopiert `config.cfg` nach `C:\Program Files\config.cfg`
3. Das Skript installiert das MSI mit `DEPLOY_CONFIG="C:\Program Files\config.cfg"`
4. Das MSI liest die Konfigurationsdatei und schreibt sie nach `%ProgramData%\net.devolutions\Devolutions Password Manager\DefaultConfig.cfg`
5. Wenn ein Benutzer Devolutions Password Manager startet, erkennt die App die systemweite Konfiguration und wendet sie an

Das Ergebnis: Die Konfigurationsdatei wird mit der Anwendung verteilt, automatisch am richtigen Ort platziert, und die Installation erfolgt vollständig unbeaufsichtigt und Intune-kompatibel.

#### Beispiel 4: SCCM-Bereitstellung

* Installationsbefehl:

```bash
msiexec /i Devolutions.PasswordManager.msi /qn /norestart DEPLOY_CONFIG="%~dp0Config.cfg"
```

* Deinstallationsbefehl:

```bash
msiexec /x {PRODUCT-CODE} /qn /norestart
```

* Erkennungsmethode: Registrierungsschlüssel `HKLM\SOFTWARE\Devolutions\Devolutions Password Manager\Version`

#### Beispiel 5: Mehrere Devolutions Server über Konfigurationsdatei

Erstellen Sie `config.cfg`:

```json
{
  "dvls": [
    {
      "name": "Production Devolutions Server",
      "serverUrl": "https://devolutions-server-prod.company.com"
    },
    {
      "name": "Development Devolutions Server",
      "serverUrl": "https://devolutions-server-dev.company.com"
    },
    {
      "name": "Test Devolutions Server",
      "serverUrl": "https://devolutions-server-test.company.com"
    }
  ],
  "configs": {
    "language": "en-US",
    "shareUsageData": false
  }
}
```

Bereitstellung über:

```bash
msiexec /i Devolutions.PasswordManager.msi /qn DEPLOY_CONFIG="\\fileserver\IT\Workspace\config.cfg"
```

### Fehlerbehebung

#### Konfiguration nicht angewendet

Konfigurationsdatei vorhanden, aber Einstellungen werden nicht angewendet.

1. Dateipfad prüfen: Überprüfen Sie den richtigen Pfad (`%ProgramData%\net.devolutions\Devolutions Password Manager\DefaultConfig.cfg`)
2. JSON-Gültigkeit prüfen: Validieren Sie die JSON-Syntax (keine nachgestellten Kommas, korrekte Anführungszeichen)
3. Berechtigungen prüfen: Der Benutzer muss Lesezugriff auf die Konfigurationsdatei haben
4. Indikatordatei überprüfen: Prüfen Sie, ob die Datei `config.ready` im selben Verzeichnis vorhanden ist
5. Protokolle prüfen: Überprüfen Sie die Anwendungsprotokolle auf Parsing-Fehler

#### Indikatordatei fehlt

* Problem: Systemweite Konfiguration wird ignoriert.
* Lösung: Erstellen Sie die Datei `config.ready`:

```bash
type nul > "%ProgramData%\net.devolutions\Devolutions Password Manager\config.ready"
```

#### USER\_CONFIG wird im "default"-Benutzerprofil bereitgestellt

* Problem: USER\_CONFIG schlägt bei unbeaufsichtigten/automatisierten Installationen fehl, die Konfiguration landet in `C:\Users\Default\AppData\Local`.
* Ursache: USER\_CONFIG erfordert einen aktiven Benutzersitzungskontext, der während einer automatisierten MSI-Installation nicht verfügbar ist.
* Lösung: Verwenden Sie **DEPLOY\_CONFIG** für Unternehmensbereitstellungen:

```bash
# CORRECT for Intune/SCCM
msiexec /i Devolutions.PasswordManager.msi /qn /norestart DEPLOY_CONFIG="%~dp0Config.cfg"

# WRONG for automated deployment
msiexec /i Devolutions.PasswordManager.msi /qn /norestart USER_CONFIG="%~dp0Config.cfg"
```

#### Unbeaufsichtigte MSI-Installation wendet die Konfiguration nicht an

MSI-Parameter erstellen keine Konfiguration.

1. Parametersyntax prüfen: Achten Sie auf korrekte Anführungszeichen (verwenden Sie `"value"`, nicht `'value'`)
2. MSI-Installation protokollieren: Fügen Sie `/l*v install.log` hinzu, um detaillierte Fehler zu sehen
3. PowerShell-Ausführung überprüfen: Prüfen Sie, ob die Ausführungsrichtlinie Skripte blockiert
4. Administratorrechte: Stellen Sie sicher, dass das Installationsprogramm mit erhöhten Rechten ausgeführt wird

* Beispiel mit Protokollierung:

```bash
msiexec /i Devolutions.PasswordManager.msi /qn /l*v C:\Temp\install.log DVLS_SERVER_URL="https://server.com"
```

#### Einstellungen werden nicht beibehalten

Einstellungen werden nach einem Neustart auf die Standardwerte zurückgesetzt.

1. Benutzer- vs. Systemkonfiguration: Die Systemkonfiguration wird nur angewendet, wenn keine Benutzerkonfiguration vorhanden ist. Sobald ein Benutzer Einstellungen ändert, werden diese in der Benutzerkonfiguration gespeichert und überschreiben die Systemstandardwerte.
2. Gruppenrichtlinien-Überschreibung: Prüfen Sie, ob eine GPO Einstellungen erzwingt
3. Dateiberechtigungen: Überprüfen Sie die Schreibberechtigungen für den Speicherort der Benutzerkonfiguration

#### Datenquelle existiert bereits

Problem: Der Import schlägt mit der Meldung "workspace already exists" fehl.

Erläuterung: Der Konfigurationsparser erkennt Duplikate anhand der normalisierten URL (Groß-/Kleinschreibung wird ignoriert, abschließender Schrägstrich wird entfernt).

1. Entfernen Sie die vorhandene Datenquelle manuell vor dem Import
2. Bearbeiten Sie die Konfigurationsdatei, um doppelte Einträge zu entfernen
3. Verwenden Sie das Custom Installation-Tool, um Konfigurationen zusammenzuführen

#### Sperroption funktioniert nicht

Windows Hello wird nicht aktiviert.

1. Windows Hello-Einrichtung: Stellen Sie sicher, dass Windows Hello in den Windows-Einstellungen konfiguriert ist
2. Fallback: Das System greift automatisch auf das Passwort zurück, wenn die Hardware nicht verfügbar ist
3. Protokolle prüfen: Überprüfen Sie die Anwendungsprotokolle auf Fehler bei der biometrischen Initialisierung

### Best Practices

#### 1. Testen Sie die Konfiguration zuerst

Vor der Bereitstellung für alle Benutzer:

1. Erstellen Sie eine Test-Benutzer-/Gerätegruppe
2. Wenden Sie die Konfiguration auf die Testgruppe an
3. Überprüfen Sie, ob Datenquellen und Einstellungen wie erwartet funktionieren
4. Rollen Sie die Konfiguration in die Produktion aus

#### 2.Verwenden Sie DEPLOY\_CONFIG für Unternehmen

* Verwenden Sie DEPLOY\_CONFIG immer für:
* Intune-Bereitstellungen
* SCCM-Bereitstellungen
* Stille/unbeaufsichtigte Installationen
* Mehrbenutzer-Computer
* Gemeinsam genutzte Arbeitsstationen
* Verwenden Sie USER\_CONFIG nur für:
* Interaktive Installationen durch Endbenutzer
* Einzelbenutzergeräte
* Testszenarien

#### 3. Dokumentieren Sie die Konfiguration

Pflegen Sie eine Dokumentation Ihrer Konfiguration, einschließlich:

* Welche Datenquellen vorkonfiguriert sind
* Welche Einstellungen erzwungen werden
* Erwartete Benutzererfahrung
* Support-Kontakt bei Problemen

#### 4. Benutzerkommunikation

Informieren Sie die Benutzer:

* Datenquellen werden vorkonfiguriert
* Sie müssen sich dennoch mit ihren Anmeldeinformationen anmelden
* Die Konfiguration erfolgt beim ersten Start der Anwendung
* Kontaktieren Sie die IT-Abteilung, wenn keine Datenquellen erscheinen

#### 5. Sicherheitsüberlegungen

**Empfohlene Sicherheitseinstellungen**:

```json
{
  "lockingOption": "windowsCredentials",
  "useBackgroundLock": true,
  "useLockWhenInactive": true,
  "lockInactivityDelay": 300,
  "clearClipboardSensitiveData": true,
  "clipboardTimer": 60,
  "shareUsageData": false
}
```

**Warum**:

* Erzwingt die Windows Hello-Authentifizierung
* Sperrt die Anwendung sofort, wenn sie in den Hintergrund wechselt
* Automatische Sperrung nach 5 Minuten Inaktivität
* Löscht die Zwischenablage nach 60 Sekunden
* Deaktiviert die Erfassung von Nutzungsdaten (optional)

#### 6. Anforderungen an das URL-Format

Alle URLs müssen:

* Das Protokoll enthalten (`https://`)
* Gültige, erreichbare URLs sein
* Nicht mit einem abschließenden Schrägstrich enden (die Anwendung normalisiert dies)

**Beispiele:**

* `https://devolutions-server.company.com`
* `https://password-manager.devolutions.app`
* `devolutions-server.company.com` (fehlendes https\://)
* `http://devolutions-server.company.com` (HTTP nicht empfohlen)

#### 7. Überlegungen zu Domäne vs. Standalone

* In Domäne eingebunden: Verwenden Sie Roaming AppData (`TARGET_LOCATION="roaming"`) für die Profilsynchronisierung
* Standalone: Verwenden Sie Local AppData (`TARGET_LOCATION="local"`) oder System (`TARGET_LOCATION="system"`)

### Kurzreferenz

#### Minimale Konfigurationsvorlage

```json
{
  "dvls": [
    {
      "name": "Devolutions Server",
      "serverUrl": "https://devolutions-server.example.com"
    }
  ]
}
```

#### Empfohlener Befehl für die Unternehmensbereitstellung

```bash
msiexec /i Devolutions.PasswordManager.msi /qn /norestart DEPLOY_CONFIG="\\server\share\Config.cfg"
```

{% endtab %}

{% tab title="macOS" %}

#### Was ist Vorkonfiguration

Die Vorkonfiguration ermöglicht es IT-Administratoren, Devolutions Password Manager mit vorkonfigurierten Einstellungen und Datenquellen (Devolutions Server- und Devolutions Cloud-Instanzen) auf verwalteten macOS-Endpunkten bereitzustellen. Dadurch müssen Endbenutzer die Anwendung nach der Installation nicht mehr manuell konfigurieren.

#### Wichtigste Vorteile

* Zero-Touch-Bereitstellung: Benutzer starten mit vollständig konfigurierten Anwendungen
* Konsistenz: Stellen Sie sicher, dass alle Benutzer dieselben Datenquellen und Einstellungen haben
* Zeitersparnis: Manuelle Konfigurationsschritte entfallen
* Zentralisierte Verwaltung: Konfiguration über die MDM-Konsole
* Richtliniendurchsetzung: Kann verhindern, dass Benutzer Einstellungen ändern
* Unternehmensstandard: Empfohlener Ansatz für verwaltete macOS-Flotten

#### So funktioniert es

1. Der IT-Administrator konfiguriert Datenquellen und Einstellungen über MDM oder Konfigurationsdateien
2. MDM überträgt die Konfiguration an verwaltete Geräte
3. Der Benutzer startet die Anwendung zum ersten Mal
4. Die Anwendung liest die Konfiguration und erstellt Datenquellen automatisch
5. Der Benutzer authentifiziert sich, um die Verbindung abzuschließen (gibt Anmeldeinformationen ein)

#### Wichtige Hinweise

* Authentifizierung erforderlich: Vorkonfigurierte Datenquellen werden im Status "pending" erstellt. Benutzer müssen sich dennoch authentifizieren (anmelden), um die Verbindung abzuschließen.
* Nur beim ersten Start: Die Konfiguration wird einmalig beim ersten Start angewendet. Nachfolgende Änderungen erfordern eine Neuinstallation der Anwendung oder eine manuelle Konfiguration.
* Anmeldeinformationen werden NICHT gespeichert: Die Vorkonfiguration umfasst KEINE Benutzeranmeldeinformationen. Benutzer müssen sich mit ihren eigenen Anmeldeinformationen anmelden.

### Bereitstellungsmethoden

#### Methode 1: MDM/verwaltete Einstellungen (empfohlen)

Stellen Sie die Konfiguration über MDM-Lösungen (Mobile Device Management) für verwaltete macOS-Umgebungen bereit.

* Anwendungsfall: Jamf Pro, Microsoft Intune for Mac, andere MDM-Lösungen
* Priorität: Höchste (überschreibt alle dateibasierten Konfigurationen)
* Einstellungsdomäne: `net.devolutions.authenticator`

**Vorteile:**

* Zentralisierte Verwaltung: Konfiguration über die MDM-Konsole
* Richtliniendurchsetzung: Kann verhindern, dass Benutzer Einstellungen ändern
* Höchste Priorität: Überschreibt lokale Konfigurationsdateien
* Unternehmensstandard: Empfohlener Ansatz für verwaltete macOS-Flotten

Detaillierte Anweisungen finden Sie im Abschnitt [MDM/Verwaltete Einstellungen](#method-1-mdm-managed-preferences-recommended).

#### Methode 2: Bereitstellung per Konfigurationsdatei

Stellen Sie eine vorab erstellte `.cfg`-Datei auf den Zielsystemen bereit.

* Anwendungsfall: Skriptbasierte Bereitstellungen, Umgebungen ohne MDM, Tests
* Systemweiter Speicherort: `/Library/Application Support/Devolutions/Devolutions Password Manager/DefaultConfig.cfg`
* Benutzerspezifischer Speicherort: `~/Library/Application Support/Devolutions Password Manager/Config.cfg`

Details finden Sie im Abschnitt [Struktur der Konfigurationsdatei](#configuration-file-structure-1).

#### Methode 3: Manuelle Konfiguration (Befehl defaults)

Für die manuelle Konfiguration oder Skripterstellung:

```bash
# Set language
defaults write net.devolutions.authenticator language -string "en-US"

# Enable tray minimize
defaults write net.devolutions.authenticator reduceToTrayOnClose -bool true

# Set locking option
defaults write net.devolutions.authenticator lockingOption -string "biometric"
```

**Anwendungsfall**: Manuelle Einrichtung, Tests, Shell-Skripte

### MDM/Verwaltete Einstellungen

#### Jamf Pro-Bereitstellung

**Option A: Verwendung des JSON-Schemas (empfohlen)**

1. Laden Sie das Jamf Pro JSON-Schema für Devolutions Password Manager herunter oder kopieren Sie es:

<details>

<summary><strong>Zum Erweitern klicken: Devolutions Password Manager Jamf Pro JSON-Schema</strong></summary>

```json
{
  "title": "Devolutions Password Manager Configuration (net.devolutions.authenticator)",
  "description": "Configuration settings for Devolutions Password Manager deployed via Jamf Pro. These settings are deployed as managed preferences to managed devices.",
  "__version": "1.0",
  "__preferencedomain": "net.devolutions.authenticator",
  "options": {
    "remove_empty_properties": true
  },
  "properties": {
    "dvls": {
      "title": "DVLS Configuration",
      "description": "Devolutions Server connection settings",
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "name": {
            "title": "Server Name",
            "description": "Display name for the Devolutions Server",
            "type": "string",
            "default": "Devolutions Server"
          },
          "serverUrl": {
            "title": "Server URL",
            "description": "Full URL to the Devolutions Server (e.g., https://server.company.com)",
            "type": "string",
            "pattern": "^https?://.*"
          },
          "serverVersion": {
            "title": "Server Version",
            "description": "Devolutions Server version (optional)",
            "type": "string",
            "default": ""
          }
        },
        "required": ["serverUrl"]
      },
      "default": []
    },
    "hubs": {
      "title": "Devolutions Cloud Configuration",
      "description": "Devolutions Cloud connection settings",
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "url": {
            "title": "Devolutions Cloud URL",
            "description": "Full Devolutions Cloud URL (e.g., https://yourcompany.devolutions.app)",
            "type": "string",
            "pattern": "^https://.*\\.devolutions\\.app$"
          },
          "organizationId": {
            "title": "Organization ID",
            "description": "Organization identifier for Devolutions Cloud",
            "type": "string"
          },
          "type": {
            "title": "Devolutions Cloud Type",
            "description": "Devolutions Cloud connection type (optional)",
            "type": "string"
          },
          "version": {
            "title": "Devolutions Cloud Version",
            "description": "Devolutions Cloud version compatibility",
            "type": "string",
            "default": "2020"
          }
        },
        "required": ["url"]
      },
      "default": []
    },
    "configs": {
      "title": "Application Settings",
      "description": "User preferences and application behavior settings",
      "type": "object",
      "properties": {
        "language": {
          "title": "Language",
          "description": "Default language for Devolutions Password Manager interface",
          "type": "string",
          "enum": [
            "en-US", "fr", "de", "es", "cs", "hu", "it", "nl", "pl", "ru", "sv", "tr", "uk", "zh-CHS", "zh-TW"
          ],
          "default": "en-US",
          "options": {
            "enum_titles": [
              "English", "Français", "Deutsch", "Español", "Čeština", "Magyar", "Italiano",
              "Nederlands", "Polski", "Русский", "Svenska", "Türkçe", "Українська", "简体中文", "繁體中文"
            ]
          }
        },
        "reduceToTrayOnClose": {
          "title": "Minimize to Tray on Close",
          "description": "When enabled, closing the window minimizes to system tray instead of quitting",
          "type": "boolean",
          "default": false
        },
        "clearClipboardSensitiveData": {
          "title": "Clear Clipboard Sensitive Data",
          "description": "Automatically clear sensitive data from clipboard after a specified timeout",
          "type": "boolean",
          "default": false
        },
        "clipboardTimer": {
          "title": "Clipboard Timeout (seconds)",
          "description": "Duration in seconds before clearing clipboard when sensitive data clearing is enabled",
          "type": "integer",
          "enum": [30, 60, 120, 180, 240, 300, 0],
          "default": 30,
          "options": {
            "enum_titles": ["30 seconds", "1 minute", "2 minutes", "3 minutes", "4 minutes", "5 minutes", "Never"]
          }
        },
        "useFavicon": {
          "title": "Use Favicons",
          "description": "Download and display website favicons for entries",
          "type": "boolean",
          "default": false
        },
        "useEntriesSyncOnDatasourceAccess": {
          "title": "Sync Entries on Workspace Access",
          "description": "Automatically synchronize entries when accessing a workspace",
          "type": "boolean",
          "default": false
        },
        "useHubEmbeddedBrowser": {
          "title": "Use Devolutions Cloud Embedded Browser",
          "description": "Open Devolutions Cloud connections in embedded browser (disable if using credential providers)",
          "type": "boolean",
          "default": true
        },
        "lockingOption": {
          "title": "Locking Method",
          "description": "Authentication method used when locking/unlocking Devolutions Password Manager. Leave empty for no locking method.",
          "type": "string",
          "enum": ["", "password", "biometric"],
          "default": "",
          "options": {
            "enum_titles": ["None", "Password/PIN", "Biometric (Touch ID)"]
          }
        },
        "useBackgroundLock": {
          "title": "Lock When Backgrounded",
          "description": "Automatically lock the application when minimized or sent to system tray",
          "type": "boolean",
          "default": false
        },
        "useLockWhenInactive": {
          "title": "Auto-Lock When Inactive",
          "description": "Automatically lock the application after a period of inactivity",
          "type": "boolean",
          "default": false
        },
        "lockInactivityDelay": {
          "title": "Inactivity Lock Delay (seconds)",
          "description": "Time in seconds before locking due to inactivity (requires Auto-Lock to be enabled)",
          "type": "integer",
          "enum": [30, 60, 120, 180, 240, 300],
          "default": 30,
          "options": {
            "enum_titles": ["30 seconds", "1 minute", "2 minutes", "3 minutes", "4 minutes", "5 minutes"]
          }
        }
      }
    },
    "preventStartup": {
      "title": "Prevent Startup",
      "description": "When true, prevents Devolutions Password Manager from starting automatically after configuration deployment",
      "type": "boolean",
      "default": true
    }
  }
}
```

</details>

2. Navigieren Sie in Jamf Pro zu: **Computers – Configuration Profiles – Application & Custom Settings**
3. Klicken Sie auf **Configure** und laden Sie die JSON-Schemadatei hoch
4. Konfigurieren Sie Ihre gewünschten Einstellungen über die von Jamf bereitgestellte GUI-Oberfläche
5. Profil auf Ihre Zielcomputer eingrenzen
6. Konfigurationsprofil bereitstellen

**Option B: Manuelles Konfigurationsprofil**

Wenn Sie Jamf Pro nicht verwenden, können Sie ein Standard-macOS-Konfigurationsprofil erstellen:

**Beispielprofil** (com.devolutions.workspace.mobileconfig):

```xml
<?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>PayloadVersion</key>
            <integer>1</integer>
            <key>PayloadIdentifier</key>
            <string>net.devolutions.authenticator.config</string>
            <key>PayloadUUID</key>
            <string>GENERATE-UUID-HERE</string>
            <key>PayloadDisplayName</key>
            <string>Devolutions Password Manager Configuration</string>
            <key>language</key>
            <string>en-US</string>
            <key>reduceToTrayOnClose</key>
            <true/>
            <key>lockingOption</key>
            <string>biometric</string>
            <key>dvls</key>
            <array>
                <dict>
                    <key>name</key>
                    <string>Corporate DVLS</string>
                    <key>serverUrl</key>
                    <string>https://devolutions-server.company.com</string>
                </dict>
            </array>
        </dict>
    </array>
</dict>
</plist>
```

Bereitstellung über:

* Jamf Pro: Konfigurationsprofile – Profil hochladen
* Microsoft Intune: Gerätekonfiguration – Benutzerdefiniertes Profil
* Andere MDMs: Hochladen eines benutzerdefinierten Konfigurationsprofils

#### Microsoft Intune für Mac

1. Navigieren Sie zu: **Geräte** – **Konfigurationsprofile** – **Profil erstellen**.
2. Plattform: **macOS**.
3. Profiltyp: **Benutzerdefiniert**.
4. Laden Sie das Konfigurationsprofil (`.mobileconfig`-Datei) hoch.
5. Zielgruppen zuweisen.
6. Bereitstellen.

#### MDM-Konfiguration überprüfen

Auf einem verwalteten Mac:

```bash
# Check if preferences are set
defaults read net.devolutions.authenticator

# Check for specific setting
defaults read net.devolutions.authenticator language
```

### Struktur der Konfigurationsdatei

Konfigurationsdateien verwenden die Erweiterung `.cfg` und enthalten Daten im JSON-Format.

#### Dateiformat

```json
{
  "hubs": [
    {
      "url": "https://mycompany.devolutions.app",
      "organizationId": "00000000-0000-0000-0000-000000000000",
      "type": "Business",
      "version": ""
    }
  ],
  "dvls": [
    {
      "name": "Production DVLS",
      "serverUrl": "https://devolutions-server.company.com",
      "serverVersion": ""
    },
    {
      "name": "Development DVLS",
      "serverUrl": "https://devolutions-server-dev.company.com",
      "serverVersion": ""
    }
  ],
  "configs": {
    "language": "en-US",
    "reduceToTrayOnClose": true,
    "clearClipboardSensitiveData": true,
    "clipboardTimer": 30,
    "useFavicon": true,
    "useEntriesSyncOnDatasourceAccess": false,
    "useHubEmbeddedBrowser": true,
    "shareUsageData": false,
    "lockingOption": "biometric",
    "useBackgroundLock": true,
    "useLockWhenInactive": true,
    "lockInactivityDelay": 300
  }
}
```

#### Schema-Komponenten

**Devolutions Cloud-Array (Optional)**

Array von Devolutions Cloud-Instanzen zur Konfiguration.

| Feld               | Typ    | Erforderlich | Beschreibung                                                                 |
| ------------------ | ------ | ------------ | ---------------------------------------------------------------------------- |
| **url**            | string | Ja           | Devolutions Cloud-URL (z. B. `https://mycompany.devolutions.app`)            |
| **organizationId** | string | Ja           | Organisations-GUID                                                           |
| **type**           | string | Nein         | Immer "Business" (automatisch ausgefüllt)                                    |
| **version**        | string | Nein         | Devolutions Cloud-Version (bei der ersten Verbindung automatisch ausgefüllt) |

**Devolutions Server-Array (Optional)**

Array von Devolutions Server-Instanzen zur Konfiguration.

| Feld              | Typ    | Erforderlich | Beschreibung                                                             |
| ----------------- | ------ | ------------ | ------------------------------------------------------------------------ |
| **name**          | string | Ja           | Anzeigename für den Server                                               |
| **serverUrl**     | string | Ja           | (Devolutions Server-URL (z. B. `https://devolutions-server.company.com`) |
| **serverVersion** | string | Nein         | Serverversion (bei der ersten Verbindung automatisch ausgefüllt)         |

**`configs`-Objekt (optional)**

Anwendungseinstellungen zur Vorkonfiguration.

Die vollständige Liste finden Sie unter [Referenz der Konfigurationseinstellungen](#configuration-settings-reference-1).

### Speicherorte der Konfigurationsdateien

#### Konfiguration auf Benutzerebene

* Pfad: `~/Library/Application Support/Devolutions Password Manager/Config.cfg`
* Priorität: Höchste für benutzerspezifische Konfigurationen

#### Systemweite Konfiguration

* Pfad: `/Library/Application Support/Devolutions/Devolutions Password Manager/DefaultConfig.cfg`
* Priorität: Wird angewendet, wenn keine Benutzerkonfiguration vorhanden ist

#### Verwaltete Einstellungen (MDM/Jamf)

* Priorität: Höchste (überschreibt alle dateibasierten Konfigurationen)
* Einstellungsdomäne: `net.devolutions.authenticator`
* Schlüssel: Wie im `configs`-Objekt im JSON-Format
* Konfiguration: Über MDM-Profil oder `defaults`-Befehl

#### Prioritätsreihenfolge

Konfigurationsquellen werden in der folgenden Reihenfolge geprüft (die erste gefundene gewinnt):

1. Verwaltete macOS-Einstellungen – MDM/Jamf-Richtlinien (höchste Priorität)
2. Benutzerkonfigurationsdatei – Benutzerspezifische Konfiguration
3. Systemkonfigurationsdatei – Systemweiter Standard (wird an den Benutzerspeicherort kopiert)

### Referenz der Konfigurationseinstellungen

Vollständige Referenz aller konfigurierbaren Einstellungen.

#### Zuordnung der Einstellungsschlüssel

| Exportschlüssel (Config/MDM)         | Typ     | Standard | Beschreibung                                                                |
| ------------------------------------ | ------- | -------- | --------------------------------------------------------------------------- |
| **language**                         | String  | `en-US`  | Sprache der Anwendungsoberfläche                                            |
| **reduceToTrayOnClose**              | Boolean | `false`  | In die Taskleiste minimieren anstatt zu beenden                             |
| **clearClipboardSensitiveData**      | Boolean | `false`  | Timer zum automatischen Leeren der Zwischenablage                           |
| **clipboardTimer**                   | Integer | `30`     | Sekunden bis zum Leeren der Zwischenablage (1-999)                          |
| **useFavicon**                       | Boolean | `false`  | Website-Favicons für Einträge herunterladen                                 |
| **useEntriesSyncOnDatasourceAccess** | Boolean | `false`  | Einträge beim Zugriff auf die Datenquelle automatisch synchronisieren       |
| **useHubEmbeddedBrowser**            | Boolean | `true`   | Eingebetteten Browser für die Devolutions Cloud-Authentifizierung verwenden |
| **shareUsageData**                   | Boolean | `true`   | Anonyme Nutzungsstatistiken teilen                                          |
| **lockingOption**                    | String  | (keine)  | Sperrmethode: `password`, `biometric`                                       |
| **useBackgroundLock**                | Boolean | `false`  | Sperren, wenn im Infobereich minimiert                                      |
| **useLockWhenInactive**              | Boolean | `false`  | Nach einer Zeit der Inaktivität sperren                                     |
| **lockInactivityDelay**              | Integer | `30`     | Sekunden bis zur automatischen Sperre (30-3600)                             |

#### Unterstützte Sprachen

| Code     | Sprache                       |
| -------- | ----------------------------- |
| `en-US`  | Englisch (Vereinigte Staaten) |
| `fr`     | Französisch                   |
| `de`     | Deutsch                       |
| `es`     | Spanisch                      |
| `cs`     | Tschechisch                   |
| `hu`     | Ungarisch                     |
| `it`     | Italienisch                   |
| `nl`     | Niederländisch                |
| `pl`     | Polnisch                      |
| `ru`     | Russisch                      |
| `sv`     | Schwedisch                    |
| `tr`     | Türkisch                      |
| `uk`     | Ukrainisch                    |
| `zh-CHS` | Chinesisch (Vereinfacht)      |
| `zh-TW`  | Chinesisch (Traditionell)     |

#### Sperroptionen

| Wert          | Beschreibung    | Anforderungen                                       |
| ------------- | --------------- | --------------------------------------------------- |
| **password**  | Master-Passwort | Benutzer legt das Passwort beim ersten Sperren fest |
| **biometric** | Touch ID        | Touch ID-Hardware erforderlich                      |

### Bereitstellungsbeispiele

#### Beispiel 1: Jamf Pro mit Devolutions Server und Sicherheitseinstellungen

Mit Jamf JSON Schema:

1. Laden Sie das JSON-Schema in Jamf Pro hoch
2. Konfigurieren über die GUI:
   * Devolutions Server-Konfiguration: Server mit der URL `https://devolutions-server.company.com` hinzufügen
   * Sperrmethode: Biometrisch (Touch ID)
   * Sperren im Hintergrund: Aktiviert
   * Automatisches Sperren bei Inaktivität: Aktiviert
   * Verzögerung der Inaktivitätssperre: 5 Minuten (300 Sekunden)
3. Auf Zielcomputer eingrenzen
4. Bereitstellen

#### Beispiel 2: Manuelles Konfigurationsprofil für Devolutions Cloud

```xml
<?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>PayloadVersion</key>
            <integer>1</integer>
            <key>PayloadIdentifier</key>
            <string>net.devolutions.authenticator.config</string>
            <key>PayloadUUID</key>
            <string>REPLACE-WITH-UNIQUE-UUID</string>
            <key>PayloadDisplayName</key>
            <string>Devolutions Password Manager Cloud Configuration</string>
            <key>hubs</key>
            <array>
                <dict>
                    <key>url</key>
                    <string>https://mycompany.devolutions.app</string>
                    <key>organizationId</key>
                    <string>12345678-1234-1234-1234-123456789abc</string>
                    <key>type</key>
                    <string>Business</string>
                    <key>version</key>
                    <string>2020</string>
                </dict>
            </array>
            <key>configs</key>
            <dict>
                <key>language</key>
                <string>en-US</string>
                <key>lockingOption</key>
                <string>biometric</string>
            </dict>
        </dict>
    </array>
</dict>
</plist>
```

#### Beispiel 3: defaults-Befehl zum Testen

```bash
#!/bin/bash

# Configure Devolutions Server (complex structure requires plist file)
defaults write net.devolutions.authenticator dvls -array-add \
  '{name = "Production DVLS"; serverUrl = "https://devolutions-server.company.com"; }'

# Configure application 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
defaults write net.devolutions.authenticator useLockWhenInactive -bool true
defaults write net.devolutions.authenticator lockInactivityDelay -int 300
defaults write net.devolutions.authenticator clearClipboardSensitiveData -bool true
defaults write net.devolutions.authenticator clipboardTimer -int 60
```

#### Beispiel 4: Bereitstellung der Konfigurationsdatei per Skript

```bash
#!/bin/bash

# Create system-wide configuration directory
sudo mkdir -p "/Library/Application Support/Devolutions/Devolutions Password Manager"

# Deploy configuration file
sudo cp "/path/to/config.cfg" "/Library/Application Support/Devolutions/Devolutions Password Manager/DefaultConfig.cfg"

# Set proper permissions
sudo chmod 644 "/Library/Application Support/Devolutions/Devolutions Password Manager/DefaultConfig.cfg"
```

#### Beispiel 5: Mehrere Devolutions Server über eine Konfigurationsdatei

Erstellen Sie `config.cfg`:

```json
{
  "dvls": [
    {
      "name": "Production DVLS",
      "serverUrl": "https://devolutions-server-prod.company.com"
    },
    {
      "name": "Development DVLS",
      "serverUrl": "https://devolutions-server-dev.company.com"
    },
    {
      "name": "Test DVLS",
      "serverUrl": "https://devolutions-server-test.company.com"
    }
  ],
  "configs": {
    "language": "en-US",
    "shareUsageData": false
  }
}
```

Per Skript bereitstellen oder manuell an einem systemweiten Ort ablegen.

### Fehlerbehebung

#### MDM-Konfiguration wird nicht angewendet

Konfigurationsprofil ist installiert, aber die Einstellungen werden nicht angewendet.

1. **Präferenzdomäne überprüfen**: Stellen Sie sicher, dass `net.devolutions.authenticator` verwendet wird
2. **Profilstatus prüfen**: Systemeinstellungen – Profile – Überprüfen Sie, ob das Profil installiert ist.
3. **Profilaktualisierung erzwingen**: `sudo profiles renew -type enrollment`.
4. **Auf Konflikte prüfen**: Entfernen Sie alle vorhandenen Benutzerkonfigurationsdateien.
5. **Protokolle überprüfen**: Prüfen Sie Console.app auf Fehler im Zusammenhang mit Devolutions Password Manager.

#### Konfigurationsdatei wird nicht geladen

Konfigurationsdatei ist vorhanden, wird aber nicht angewendet.

1. Dateispeicherort prüfen: Überprüfen Sie den korrekten Pfad (`/Library/Application Support/Devolutions/Devolutions Password Manager/DefaultConfig.cfg`).
2. JSON-Gültigkeit prüfen: Validieren Sie die JSON-Syntax (keine nachgestellten Kommas, korrekte Anführungszeichen).
3. Berechtigungen prüfen: Stellen Sie sicher, dass die Datei für alle Benutzer lesbar ist (`chmod 644`).
4. Eigentümer prüfen: Sollte root oder einem Administrator gehören.
5. Benutzerkonfiguration löschen: Entfernen Sie `~/Library/Application Support/Devolutions Password Manager/Config.cfg`, damit die Systemkonfiguration angewendet werden kann.

#### Sperroption funktioniert nicht

Touch ID wird nicht aktiviert.

1. Hardware-Prüfung: Überprüfen Sie, ob der Mac über Touch ID-Hardware verfügt
2. Touch ID-Einrichtung: Stellen Sie sicher, dass Touch ID in den Systemeinstellungen – Touch ID konfiguriert ist
3. Fallback: Das System greift automatisch auf das Passwort zurück, wenn die Hardware nicht verfügbar ist
4. Protokolle prüfen: Überprüfen Sie die Anwendungsprotokolle auf Fehler bei der biometrischen Initialisierung

#### Verwirrung um die Präferenzdomäne

Unklar, welche Präferenzdomäne verwendet werden soll.

Lösung: Verwenden Sie für alle Konfigurationen von Devolutions Password Manager immer `net.devolutions.authenticator` (sowohl mobil als auch Desktop).

#### Einstellungen werden nicht beibehalten

Einstellungen werden nach dem Neustart auf die Standardwerte zurückgesetzt.

1. MDM vs. Benutzerkonfiguration: MDM-Einstellungen haben die höchste Priorität und überschreiben Benutzeränderungen
2. Benutzer- vs. Systemkonfiguration: Die Systemkonfiguration wird nur angewendet, wenn keine Benutzerkonfiguration vorhanden ist
3. Dateiberechtigungen: Überprüfen Sie die Schreibberechtigungen für den Speicherort der Benutzerkonfiguration

#### Datenquelle existiert bereits

Der Import schlägt mit der Meldung "workspace already exists" fehl.

Erklärung: Der Konfigurationsparser erkennt Duplikate anhand der normalisierten URL (Groß-/Kleinschreibung wird ignoriert, nachgestellter Schrägstrich wird entfernt).

1. Entfernen Sie die vorhandene Datenquelle manuell, bevor Sie die Konfiguration anwenden.
2. Bearbeiten Sie die Konfiguration, um doppelte Einträge zu entfernen.
3. Löschen Sie die Benutzerkonfigurationsdatei, um den erneuten Import der Systemkonfiguration zu erzwingen.

### Best Practices

#### 1. Konfiguration zuerst testen

Vor der Bereitstellung für alle Benutzer:

1. Erstellen Sie eine Testcomputergruppe in Jamf/Intune.
2. Wenden Sie die Konfiguration auf die Testgruppe an.
3. Überprüfen Sie, ob Datenquellen und Einstellungen wie erwartet funktionieren.
4. Führen Sie den Rollout in der Produktion durch.

#### 2. MDM für verwaltete Geräteflotten verwenden

Verwenden Sie immer MDM/verwaltete Einstellungen für:

* Von Jamf Pro verwaltete Macs
* Von Intune verwaltete Macs
* Jede MDM-verwaltete Umgebung

Vorteile:

* Zentralisierte Verwaltung
* Richtliniendurchsetzung
* Höchste Priorität (überschreibt lokale Konfigurationen)
* Standardansatz für Unternehmen

#### 3. Konfiguration dokumentieren

Pflegen Sie eine Dokumentation Ihrer MDM-Konfiguration, einschließlich:

* Welche Datenquellen vorkonfiguriert sind
* Welche Einstellungen durchgesetzt werden
* Erwartete Benutzererfahrung
* Support-Kontakt bei Problemen

#### 4. Benutzerkommunikation

Informieren Sie die Benutzer:

* Datenquellen werden vorkonfiguriert
* Sie müssen sich dennoch mit ihren Anmeldeinformationen anmelden
* Die Konfiguration erfolgt beim ersten Start der App
* Kontaktieren Sie die IT, wenn keine Datenquellen erscheinen

#### 5. Sicherheitsaspekte

Empfohlene Sicherheitseinstellungen:

```json
{
  "lockingOption": "biometric",
  "useBackgroundLock": true,
  "useLockWhenInactive": true,
  "lockInactivityDelay": 300,
  "clearClipboardSensitiveData": true,
  "clipboardTimer": 60,
  "shareUsageData": false
}
```

Warum:

* Erzwingt Touch ID-Authentifizierung
* Sperrt die App sofort, wenn sie in den Hintergrund wechselt
* Automatische Sperre nach 5 Minuten Inaktivität
* Leert die Zwischenablage nach 60 Sekunden
* Deaktiviert die Erfassung von Nutzungsdaten (optional)

#### 6. Anforderungen an das URL-Format

Alle URLs müssen:

* Das Protokoll enthalten (`https://`)
* Gültige, erreichbare URLs sein
* Nicht mit einem Schrägstrich enden (die App normalisiert dies)

Beispiele:

* `https://devolutions-server.company.com`
* `https://password-manager.devolutions.app`
* `devolutions-server.company.com` (https\:// fehlt)
* `http://devolutions-server.company.com` (HTTP nicht empfohlen)

#### 7. Jamf JSON-Schema nutzen

Verwenden Sie bei Jamf Pro-Bereitstellungen immer das JSON-Schema:

* Bietet eine benutzerfreundliche GUI-Oberfläche
* Validiert die Konfiguration vor der Bereitstellung
* Verhindert Syntaxfehler
* Zeigt alle verfügbaren Optionen mit Beschreibungen

### Kurzreferenz

#### Minimale Konfigurationsdatei

```json
{
  "dvls": [
    {
      "name": "Devolutions Server",
      "serverUrl": "https://devolutions-server.example.com"
    }
  ]
}
```

#### Präferenzdomäne

```
net.devolutions.authenticator
```

#### Systemweiter Konfigurationsort

```
/Library/Application Support/Devolutions/Devolutions Password Manager/DefaultConfig.cfg
```

#### MDM-Einstellungen prüfen

```bash
defaults read net.devolutions.authenticator
```

{% endtab %}

{% tab title="iOS" %}

#### Was ist MDM-Vorkonfiguration

Die MDM-Vorkonfiguration (Mobile Device Management) ermöglicht IT-Administratoren, Datenquellen (Devolutions Server und Devolutions Cloud) und Anwendungseinstellungen von Devolutions Password Manager automatisch auf verwalteten iOS-Geräten bereitzustellen, ***bevor*** Benutzer die App zum ersten Mal starten.

#### Vorteile

* Zero–Touch-Bereitstellung: Benutzer erhalten vorkonfigurierte Datenquellen.
* Konsistente Konfiguration: Stellen Sie sicher, dass alle Benutzer die gleichen Einstellungen haben.
* Geringerer Supportaufwand: Benutzer müssen nicht manuell durch die Einrichtung geführt werden.
* Sicherheitsrichtlinien durchsetzen: Konfigurieren Sie biometrische Sperre, Zwischenablage-Timer usw. vorab.

#### Funktionsweise

1. Der IT-Administrator konfiguriert Datenquellen und Einstellungen in der MDM-Konsole (Jamf oder Apple MDM).
2. MDM überträgt die Konfiguration auf die verwalteten Geräte.
3. Der Benutzer startet die App zum ersten Mal.
4. Die App liest die MDM-Konfiguration und erstellt Datenquellen automatisch.
5. Der Benutzer authentifiziert sich, um die Verbindung abzuschließen (gibt Anmeldeinformationen ein).

#### Wichtige Hinweise

* Authentifizierung erforderlich: Vorkonfigurierte Datenquellen werden in einem "ausstehenden" Zustand erstellt. Benutzer müssen sich dennoch authentifizieren (anmelden), um die Verbindung abzuschließen.
* Nur beim ersten Start: Die Konfiguration wird einmalig beim ersten Start angewendet. Nachfolgende Änderungen erfordern eine Neuinstallation der App oder eine manuelle Konfiguration.
* Anmeldeinformationen werden NICHT gespeichert: Die MDM-Vorkonfiguration umfasst KEINE Benutzeranmeldeinformationen. Benutzer müssen sich mit ihren eigenen Anmeldeinformationen anmelden.

### Voraussetzungen

* Jamf Pro-Server oder Apple MDM-Lösung
* Devolutions Password Manager über MDM bereitgestellt (App Store oder unternehmensintern)
* iOS 13.0 oder höher auf verwalteten Geräten
* In MDM registrierte Geräte

### Bereitstellung mit Jamf Pro

#### Schritt 1: Verwaltete App-Konfiguration erstellen

1. Melden Sie sich bei ***Jamf Pro*** an.
2. Navigieren Sie zu ***Mobile Device Apps*** – Suchen Sie die App "Devolutions Password Manager".
3. Klicken Sie auf die App – Gehen Sie zur Registerkarte ***App Configuration***.
4. Klicken Sie auf ***Add***, um eine neue Konfiguration zu erstellen.

#### Schritt 2: Einstellungen konfigurieren

Im App-Konfigurationsbildschirm:

**Konfigurationsmethode**

* Wählen Sie: ***Upload specfile*** in den Jamf AppConfig Generator für ein GUI-Formular (empfohlen), ODER
* Wählen Sie: ***Enter configuration directly*** als plist/Dictionary in Jamf Pro

**Option A: AppConfig-Specfile verwenden (empfohlen)**

Jamf Pro verwendet den Standard der [AppConfig-Community](https://www.appconfig.org/) für die verwaltete App-Konfiguration unter iOS. Die Specfile stellt ein GUI-Formular im Jamf AppConfig Generator bereit, in dem Administratoren Einstellungen konfigurieren können, ohne eine Rohkonfiguration zu schreiben.

1. Laden Sie die [Devolutions Password Manager AppConfig-Specfile](https://cdnweb.devolutions.net/docs/workspace_mobile_appconfig_specfile.xml) herunter.
2. Öffnen Sie den [Jamf AppConfig Generator](https://generator.appconfig.jamfresearch.com/generator).
3. Laden Sie die Specfile hoch und konfigurieren Sie die Einstellungen über das GUI-Formular.
4. Laden Sie die generierte Konfigurations-plist vom Generator herunter.
5. Navigieren Sie in Jamf Pro zu ***Mobile Device Apps*** – ***Devolutions Password Manager*** – ***App Configuration***.
6. Fügen Sie die generierte plist in das Feld App Configuration ein, legen Sie den Geltungsbereich auf die Zielgeräte fest und stellen Sie sie bereit.

**Option B: Direkte Konfiguration (Alternative)**

Wenn Sie die Specfile nicht verwenden, können Sie die Konfiguration direkt als plist-Dictionary in Jamf Pro eingeben. Verwenden Sie das unten stehende flache Schlüsselformat — die App transformiert flache Schlüssel (z. B. `dvls_serverUrl`, `hub_url`) automatisch in die interne verschachtelte Struktur:

```xml
<dict>
  <!–– Devolutions Server ––>
  <key>dvls_serverUrl</key>
  <string>https://devolutions-server.company.com</string>

  <!–– Devolutions Cloud ––>
  <key>hub_url</key>
  <string>https://password-manager.devolutions.app</string>
  <key>hub_organizationId</key>
  <string>your–org–id</string>

  <!–– Application Settings ––>
  <key>language</key>
  <string>en–US</string>
  <key>lockingOption</key>
  <string>biometric</string>
  <key>shareUsageData</key>
  <false/>
  <key>useBackgroundLock</key>
  <true/>
  <key>backgroundLockDelay</key>
  <integer>0</integer>
  <key>useLockWhenInactive</key>
  <true/>
  <key>lockInactivityDelay</key>
  <integer>300</integer>
  <key>useFavicon</key>
  <true/>
  <key>autoSearch</key>
  <false/>
  <key>useHubEmbeddedBrowser</key>
  <true/>
</dict>
```

Hinweis: Das flache Schlüsselformat (`dvls_serverUrl`, `hub_url`) wird für die verwaltete App-Konfiguration von Jamf verwendet. Die App erkennt dieses Format automatisch und transformiert es in die interne verschachtelte Struktur. Ein Anzeigename wird automatisch aus der DVLS-URL generiert.

#### Schritt 3: Geräten zuweisen

1. Setzen Sie ***Distribution Method*** auf den passenden Geltungsbereich (Benutzer, Geräte oder Gruppen).
2. Klicken Sie auf ***Save***.
3. Übertragen Sie die Konfiguration auf die Zielgeräte.

#### Schritt 4: Bereitstellung überprüfen

Auf einem verwalteten iOS-Gerät:

1. Installieren/starten Sie Devolutions Password Manager.
2. Die App sollte automatisch vorkonfigurierte Datenquellen anzeigen.
3. Der Benutzer tippt auf die Datenquelle – gibt Anmeldeinformationen ein – verbindet sich.

### Konfigurationsschema

#### Devolutions Server-Konfiguration

```typescript
{
  "name": string,           // Display name (required)
  "serverUrl": string,      // Full URL with https:// (required)
  "serverVersion": string   // Version like "2024.1" (optional)
}
```

#### Devolutions Cloud-Konfiguration

```typescript
{
  "url": string,            // Full URL with https:// (required)
  "organizationId": string, // Org ID (optional)
  "type": "business",       // Always "business" (required)
  "version": "2020"         // Always "2020" (required)
}
```

#### Anwendungseinstellungen

| Einstellung                    | Typ     | Gültige Werte                  | Beschreibung                                                                |
| ------------------------------ | ------- | ------------------------------ | --------------------------------------------------------------------------- |
| language                       | String  | "en-US", "fr", "de", "es" usw. | Anzeigesprache der App                                                      |
| **lockingOption**              | String  | "", "biometric"                | App-Sperrmethode                                                            |
| **shareUsageData**             | Boolean | true, false                    | Anonyme Nutzungsanalysen teilen                                             |
| **useBackgroundLock**          | Boolean | true, false                    | Sperren, wenn die App in den Hintergrund wechselt                           |
| **backgroundLockDelay**        | Integer | 0, 60, 300, 900, 1800, 3600    | Verzögerung vor dem Sperren im Hintergrund (Sekunden)                       |
| **useLockWhenInactive**        | Boolean | true, false                    | Automatisches Sperren nach Inaktivität aktivieren                           |
| **lockInactivityDelay**        | Integer | 30, 60, 120, 180, 240, 300     | Inaktivitäts-Timeout (Sekunden)                                             |
| **useFavicon**                 | Boolean | true, false                    | Website-Favicons verwenden                                                  |
| **autoSearch**                 | Boolean | true, false                    | Automatische Suche in Tresoren aktivieren                                   |
| **useHubEmbeddedBrowser**      | Boolean | true, false                    | Eingebetteten Browser für die Devolutions Cloud-Authentifizierung verwenden |
| **highlightSpecialCharacters** | Boolean | true, false                    | Sonderzeichen in Passwörtern hervorheben                                    |

### Konfigurationsbeispiele

#### Beispiel 1: Nur ein einzelner Devolutions Server

***Jamf-Konfiguration*** (mit Schema-GUI):

* Devolutions Server: Einen Server hinzufügen
  * Name: "Corporate DVLS"
  * Server-URL: "<https://devolutions-server.acme.com>"
  * Server-Version: "2024.1"
* Devolutions Cloud-Instanzen: Leer lassen
* Anwendungseinstellungen: Standard beibehalten

***Direktes JSON*** (wenn kein Schema verwendet wird):

```json
{
  "dvls": [
    {
      "name": "Corporate DVLS",
      "serverUrl": "https://devolutions-server.acme.com",
      "serverVersion": "2024.1"
    }
  ]
}
```

#### Beispiel 2: Devolutions Cloud mit Sicherheitseinstellungen

***Jamf-Konfiguration*** (mit Schema-GUI):

* Devolutions Cloud-***Instanzen***: Eine Devolutions Cloud-Instanz hinzufügen
  * Devolutions Cloud-URL: "<https://password-manager.devolutions.app>"
  * Organisations-ID: (leer lassen oder Ihre Organisations-ID eingeben)
* ***Anwendungseinstellungen***:
  * Sperrmethode: "Biometrisch (Touch ID/Face ID)"
  * Sperren im Hintergrund: Aktiviert
  * Verzögerung der Hintergrundsperre: "Sofort"
  * Automatisches Sperren bei Inaktivität: Aktiviert
  * Verzögerung der Inaktivitätssperre: "3 Minuten"

***Direktes JSON*** (wenn kein Schema verwendet wird):

```json
{
  "hubs": [
    {
      "url": "https://password-manager.devolutions.app",
      "organizationId": "",
      "type": "business",
      "version": "2020"
    }
  ],
  "configs": {
    "lockingOption": "biometric",
    "useBackgroundLock": true,
    "backgroundLockDelay": 0,
    "useLockWhenInactive": true,
    "lockInactivityDelay": 180
  }
}
```

#### Beispiel 3: Mehrere Datenquellen

***Jamf-Konfiguration*** (mit Schema-GUI):

* Devolutions Server: Mehrere hinzufügen
  * Server 1: Name "Production DVLS", URL "[https://devolutions-server–prod.company.com](https://xn--devolutions-serverprod-h15m.company.com)"
  * Server 2: Name "Test DVLS", URL "[https://devolutions-server–test.company.com](https://xn--devolutions-servertest-h15m.company.com)"
* ***Devolutions Cloud-Instanzen***: Eine hinzufügen
  * Devolutions Cloud-URL: "<https://password-manager.devolutions.app>"
  * Organisations-ID: "org–abc123"
* ***Anwendungseinstellungen***:
  * Sprache: "Englisch"
  * Nutzungsdaten teilen: Deaktiviert

***Direktes JSON*** (wenn kein Schema verwendet wird):

```json
{
  "dvls": [
    {
      "name": "Production devolutions-server",
      "serverUrl": "https://devolutions-server–prod.company.com",
      "serverVersion": "2024.1"
    },
    {
      "name": "Test devolutions-server",
      "serverUrl": "https://devolutions-server–test.company.com",
      "serverVersion": "2024.1"
    }
  ],
  "hubs": [
    {
      "url": "https://password-manager.devolutions.app",
      "organizationId": "org–abc123",
      "type": "business",
      "version": "2020"
    }
  ],
  "configs": {
    "language": "en–US",
    "shareUsageData": false
  }
}
```

### Fehlerbehebung

#### Konfiguration nicht angewendet

***Problem:*** Benutzer melden, dass keine vorkonfigurierten Datenquellen erscheinen.

***Lösungen:***

1. ***MDM-Registrierung überprüfen:***
   * iOS: Einstellungen – Allgemein – VPN & Geräteverwaltung – Profil prüfen
2. ***Konfigurationssyntax prüfen:***
   * JSON-Syntax validieren (jsonlint.com verwenden)
   * Sicherstellen, dass alle erforderlichen Felder vorhanden sind
3. ***Überprüfen, ob die App MDM-verwaltet ist:***
   * Die App muss über MDM bereitgestellt werden (nicht manuell aus dem App Store installiert)
4. ***Konfiguration erneut anwenden:***
   * App löschen – über MDM neu installieren – Konfiguration wird beim ersten Start angewendet

#### Benutzer können ausstehende Datenquellen nicht löschen

Benutzer haben ausstehende Datenquellen, die sie nicht entfernen können.

* ***Neu in Version 2025.3.2:*** Benutzer können nun ausstehende Datenquellen löschen
  * Über das Schubladenmenü: Datenquelle lange drücken – "Entfernen" auswählen
  * Über den Bildschirm für ausstehende Elemente: Auf die Schaltfläche "Entfernen" tippen

#### Falsche Einstellungen angewendet

Einstellungen entsprechen nicht den erwarteten Werten.

1. ***Datentypen prüfen:***
   * Booleans: `true`/`false` verwenden (nicht die Zeichenfolgen `"true"`/`"false"`)
   * Integer: Zahlen ohne Anführungszeichen verwenden (z. B. `60` statt `"60"`)
   * Zeichenfolgen: Immer Anführungszeichen verwenden (z. B. `"en–US"`)
2. ***Einstellungsnamen überprüfen:***
   * Schreibweise prüfen (z. B. `lockInactivityDelay` statt `lockInactivityTimeout`)
   * Groß-/Kleinschreibung beachten (genaue Schreibweise wie im Schema verwenden)

#### Mehrere Instanzen derselben Datenquelle

Doppelte Datenquellen erscheinen. Die Konfiguration wurde mehrmals angewendet (App neu installiert oder Konfiguration geändert).

* Die Vorkonfiguration prüft anhand der URL, ob Datenquellen bereits vorhanden sind
* Wenn Duplikate vorhanden sind, können Benutzer die zusätzlichen über das Schubladenmenü löschen

#### Biometrische Sperre funktioniert nicht

Face ID/Touch ID wird nicht aktiviert.

1. ***Geräteunterstützung prüfen***: Überprüfen, ob das Gerät über Face ID- oder Touch ID-Hardware verfügt
2. ***iOS-Einstellungen prüfen***: Sicherstellen, dass Face ID/Touch ID in den Einstellungen eingerichtet ist
3. ***Berechtigungen prüfen***: Die App benötigt möglicherweise eine biometrische Berechtigung des Benutzers
4. ***Fallback***: Das System greift automatisch auf den Gerätecode zurück, wenn Biometrie nicht verfügbar ist

### Bewährte Praktiken

#### 1. Konfiguration zuerst testen

Vor der Bereitstellung für alle Benutzer:

1. Erstellen Sie eine Test-Benutzer-/Gerätegruppe in Jamf.
2. Wenden Sie die Konfiguration auf die Testgruppe an.
3. Überprüfen Sie, ob Datenquellen und Einstellungen wie erwartet funktionieren.
4. Führen Sie die Bereitstellung in der Produktion durch.

#### 2. AppConfig-Specfile verwenden

Für Jamf Pro-Bereitstellungen:

* Verwenden Sie immer das AppConfig-Specfile (Option A).
* Bietet ein benutzerfreundliches GUI-Formular über den [Jamf AppConfig Generator](https://generator.appconfig.jamfresearch.com/generator).
* Validiert die Konfiguration vor der Bereitstellung.
* Verhindert Syntaxfehler.
* Zeigt alle verfügbaren Optionen mit Beschreibungen an.

#### 3. Konfiguration dokumentieren

Führen Sie eine Dokumentation Ihrer MDM-Konfiguration, einschließlich:

* Welche Datenquellen vorkonfiguriert sind
* Welche Einstellungen erzwungen werden
* Erwartetes Benutzererlebnis
* Support-Kontakt bei Problemen

#### 4. Benutzerkommunikation

Informieren Sie die Benutzer:

* Datenquellen werden vorkonfiguriert
* Sie müssen sich weiterhin mit ihren Anmeldeinformationen anmelden
* Die Konfiguration erfolgt beim ersten Start der App
* Kontaktieren Sie die IT, wenn keine Datenquellen erscheinen

#### 5. Sicherheitsaspekte

***Empfohlene Sicherheitseinstellungen:***

```json
{
  "lockingOption": "biometric",
  "useBackgroundLock": true,
  "backgroundLockDelay": 0,
  "useLockWhenInactive": true,
  "lockInactivityDelay": 300,
  "shareUsageData": false
}
```

***Warum:***

* Erzwingt Face ID/Touch ID-Authentifizierung
* Sperrt die App sofort, wenn sie in den Hintergrund wechselt
* Automatische Sperre nach 5 Minuten Inaktivität
* Deaktiviert die Erfassung von Nutzungsdaten (optional)

#### 6. Versionskompatibilität

* ***Mindestversion:*** 2025.3.2 (für vollständige Unterstützung ausstehender Datenquellen)
* Devolutions Server &#x76;***ersionen:*** Devolutions Server 2023.3+ empfohlen
* ***iOS:*** 13.0+ erforderlich

#### 7. Anforderungen an das URL-Format

Alle URLs müssen:

* Protokoll enthalten (`https://`)
* Gültige, erreichbare URLs sein
* Nicht mit einem Schrägstrich enden (die App normalisiert dies)

***Beispiele:***

* `https://devolutions-server.company.com`
* `https://password-manager.devolutions.app`
* `devolutions-server.company.com` (https\:// fehlt)
* `http://devolutions-server.company.com` (HTTP nicht empfohlen)

#### 8. Mehrere Umgebungen verwalten

Für Unternehmen mit mehreren Umgebungen (Prod, Dev, Test):

* Erstellen Sie für jede Umgebung separate Jamf-Konfigurationsprofile
* Weisen Sie jedes Profil den entsprechenden Gerätegruppen zu
* Benutzer in jeder Umgebung erhalten automatisch die richtigen Datenquellen

### Kurzreferenz

#### Minimale Konfiguration

```json
{
  "dvls": [
    {
      "name": "Devolutions Server",
      "serverUrl": "https://devolutions-server.example.com"
    }
  ]
}
```

#### Einstellungsdomäne

```
net.devolutions.workspace.mobile
```

#### Zusammenfassung der Bereitstellungsschritte

1. Laden Sie die [AppConfig-Spezifikationsdatei](https://cdnweb.devolutions.net/docs/workspace_mobile_appconfig_specfile.xml) herunter.
2. Laden Sie sie in den [Jamf AppConfig Generator](https://generator.appconfig.jamfresearch.com/generator) hoch.
3. Konfigurieren Sie die Einstellungen über das GUI-Formular.
4. Laden Sie die generierte plist-Datei herunter.
5. In Jamf Pro: Mobile Device Apps – Devolutions Password Manager – App Configuration.
6. Fügen Sie die plist-Datei ein, weisen Sie sie den Zielgeräten zu und stellen Sie sie bereit.
   {% endtab %}
   {% endtabs %}


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.devolutions.net/password-manager/de/knowledge-base/application-knowledge-base/devolutions-password-manager-pre-configuration.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
