> 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/da/knowledge-base/application-knowledge-base/devolutions-password-manager-pre-configuration.md).

# Forhåndskonfiguration af Devolutions Password Manager

Forhåndskonfigurer arbejdsområder og indstillinger i Devolutions Password Manager på Windows, macOS og iOS ved hjælp af MSI-parametre, konfigurationsfiler eller MDM-profiler.

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

#### Hvad er forhåndskonfiguration?

Forhåndskonfiguration giver it-administratorer mulighed for at udrulle Windows-appen Devolutions Password Manager med forhåndskonfigurerede indstillinger og arbejdsområder (Devolutions Server og Devolutions Cloud) på Windows-slutpunkter. Det fjerner behovet for, at slutbrugere konfigurerer programmet manuelt efter installationen.

#### Vigtigste fordele

* Udrulning uden berøring: Brugere starter med fuldt konfigurerede programmer
* Ensartethed: Sørg for, at alle brugere har de samme arbejdsområder og indstillinger
* Tidsbesparelse: Fjern manuelle konfigurationstrin
* Fleksibilitet: Flere udrulningsmetoder, der passer til forskellige it-infrastrukturer
* Skalerbarhed: Udrul effektivt til hundredvis eller tusindvis af slutpunkter

#### Sådan fungerer det

1. En it-administrator konfigurerer arbejdsområder og indstillinger via MSI-parametre eller konfigurationsfiler.
2. Udrulningsværktøjet sender installationen til administrerede enheder (Intune, SCCM, PDQ Deploy osv.).
3. Brugere starter appen for første gang.
4. Appen læser konfigurationen og opretter automatisk arbejdsområder.
5. Brugere logger på for at fuldføre forbindelsen.

#### Vigtige bemærkninger

* Godkendelse kræves: Forhåndskonfigurerede arbejdsområder oprettes i tilstanden "afventer". Brugere skal stadig logge på for at fuldføre forbindelsen.
* Kun ved første start: Konfigurationen anvendes én gang ved første start. Efterfølgende ændringer kræver geninstallation af appen eller manuel konfiguration.
* Legitimationsoplysninger gemmes IKKE: Forhåndskonfiguration omfatter IKKE brugerens legitimationsoplysninger. Brugere skal logge på med deres egne legitimationsoplysninger.

### Udrulningsmetoder

#### Metode 1: MSI-installationsparametre

Send konfigurationsparametre direkte til Windows-installationsprogrammet under udrulningen. De kan kombinere arbejdsområdeparametre med programindstillinger.

Anvendelse: Hurtige udrulninger, enkle konfigurationer, test

* Grundlæggende eksempel (kun arbejdsområder):

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

* Med indstillinger (arbejdsområder + programindstillinger):

```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"
```

Begrænsninger: Kun én Devolutions Server kan konfigureres via MSI-parametre. Brug metode 2 til flere servere.

#### Metode 2: Udrulning med konfigurationsfil (anbefales til virksomheder)

Udrul en forudoprettet `.cfg`-fil til målsystemerne.

* Anvendelse: Intune, SCCM, komplekse konfigurationer, flere arbejdsområder

**Mulighed A: Systemomfattende udrulning (DEPLOY\_CONFIG) – ANBEFALET**

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

* Mål: `%ProgramData%\net.devolutions\Devolutions Password Manager\DefaultConfig.cfg`
* Sådan fungerer det:

1. MSI skriver konfigurationen til ProgramData under installationen
2. Når en bruger starter Devolutions Password Manager, registrerer appen den systemomfattende konfiguration
3. Konfigurationen kopieres automatisk til brugerens roamingprofil
4. Brugeren har et konfigureret program

**Hvorfor DEPLOY\_CONFIG til virksomhed:**

1. Pålidelig: Virker uafhængigt af brugerkontekst (ingen problemer med "Default user")
2. Ensartet: Alle brugere på computeren får den samme konfiguration
3. Velegnet til automatisering: Ideel til Intune, SCCM og lydløse installationer
4. Understøttelse af flere brugere: Gælder for alle eksisterende og fremtidige brugere

* Bedst til: Intune, SCCM, uovervågede installationer, maskiner med flere brugere, delte arbejdsstationer

**Mulighed B: Udrulning pr. bruger (USER\_CONFIG)**

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

* Mål: `%LOCALAPPDATA%\net.devolutions\Devolutions Password Manager\Config.cfg`
* Sådan fungerer det:

1. MSI skriver konfigurationen til den installerende brugers lokale AppData
2. Brugeren starter Devolutions Password Manager
3. Konfigurationen kopieres til brugerens roamingprofil
4. Kun den bruger har et konfigureret program

* Begrænsninger:

1. Konfigurerer kun den bruger, der kørte installationsprogrammet
2. Kan mislykkes ved automatiske udrulninger (problemer med brugerkontekst)
3. Ikke egnet til maskiner med flere brugere

* Bedst til: Interaktive installationer af slutbrugere, enheder med én bruger

#### Metode 3: Brugergrænseflade til oprettelse af konfiguration

Brug skrivebordsprogrammet til at oprette konfigurationsfiler og MSI-kommandoer.

* Anvendelse: It-administratorer, der forbereder udrulningspakker
* Adgang: ***Værktøjer*** – ***Brugerdefineret installation*** (i skrivebordsprogrammet)

Se afsnittet om oprettelse af konfigurationsfil for at få flere oplysninger.

### Struktur for konfigurationsfilen

Konfigurationsfiler bruger filtypenavnet `.cfg` og indeholder JSON-formaterede data.

#### Filformat

```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
  }
}
```

#### Skemakomponenter

**Devolutions Cloud-matrix (valgfri)**

Array af forekomster af Devolutions Cloud, der skal konfigureres.

| Felt               | Type   | Påkrævet | Beskrivelse                                                               |
| ------------------ | ------ | -------- | ------------------------------------------------------------------------- |
| **url**            | streng | Ja       | URL til Devolutions Cloud (f.eks. `https://mycompany.devolutions.app`)    |
| **organizationId** | streng | Ja       | Organisations-GUID                                                        |
| **type**           | streng | Nej      | Altid "Business" (udfyldes automatisk)                                    |
| **version**        | streng | Nej      | Version af Devolutions Cloud (udfyldes automatisk ved første forbindelse) |

**Devolutions Server-array (valgfri)**

Array af forekomster af Devolutions Server, der skal konfigureres.

| Felt              | Type   | Påkrævet | Beskrivelse                                                                  |
| ----------------- | ------ | -------- | ---------------------------------------------------------------------------- |
| **name**          | streng | Ja       | Vist navn for serveren                                                       |
| **serverUrl**     | streng | Ja       | URL til Devolutions Server (f.eks. `https://devolutions-server.company.com`) |
| **serverVersion** | streng | Nej      | Serverversion (udfyldes automatisk ved første forbindelse)                   |

**Configs-objekt (valgfrit)**

Programindstillinger, der skal forhåndskonfigureres.

Se [Reference til konfigurationsindstillinger](#configuration-settings-reference) for at få den fulde liste.

### Placeringer af konfigurationsfiler

Konfigurationsfiler indlæses i prioriteret rækkefølge ud fra placering.

#### Konfiguration på brugerniveau

* Roaming-AppData: `%APPDATA%\net.devolutions\Devolutions Password Manager\Config.cfg`
* Standard: `C:\Users\[Username]\AppData\Roaming\net.devolutions\Devolutions Password Manager\Config.cfg`
* Synkroniseres på tværs af domænetilsluttede computere
* Højeste prioritet (brugerspecifik)
* Lokal AppData: `%LOCALAPPDATA%\net.devolutions\Devolutions Password Manager\Config.cfg`
* Standard: `C:\Users\[Username]\AppData\Local\net.devolutions\Devolutions Password Manager\Config.cfg`
* Maskinspecifik og synkroniseres ikke
* Bruges under MSI-installationen og kopieres derefter til roaming

#### Systemdækkende konfiguration

* ProgramData: `%ProgramData%\net.devolutions\Devolutions Password Manager\DefaultConfig.cfg`
* Standard: `C:\ProgramData\net.devolutions\Devolutions Password Manager\DefaultConfig.cfg`
* Gælder for alle brugere på systemet
* Kræver indikatorfilen `config.ready` i den samme mappe
* Kopieres til brugerens roamingplacering ved første start (hvis brugerkonfiguration ikke findes)

#### Indikatorfil

* Fil: `config.ready`
* Placering: Samme mappe som `DefaultConfig.cfg`
* Formål: Angiver, at den systemomfattende konfiguration er klar til udrulning
* Indhold: Tom fil, kun tilstedeværelsen kontrolleres

#### Prioritetsrækkefølge

Konfigurationskilder kontrolleres i følgende rækkefølge (den første, der findes, bruges):

1. Brugerkonfigurationsfil – brugerspecifik konfiguration
2. Systemkonfigurationsfil – systemomfattende standard (kopieres til brugerplaceringen)

### MSI-installationsparametre

Windows MSI-installationsprogrammet accepterer følgende parametre til forhåndskonfiguration.

#### Parametre for arbejdsområde

**Konfiguration af Devolutions Server**

| Parameter             | Type   | Beskrivelse                | Eksempel                                 |
| --------------------- | ------ | -------------------------- | ---------------------------------------- |
| **DVLS\_SERVER\_URL** | Streng | URL til Devolutions Server | `https://devolutions-server.company.com` |

* Bemærk: Kun én Devolutions Server kan konfigureres via MSI-parametre. Brug en konfigurationsfil til flere servere.

**Konfiguration af Devolutions Cloud**

| Parameter            | Type   | Beskrivelse                                                                    | Eksempel                               |
| -------------------- | ------ | ------------------------------------------------------------------------------ | -------------------------------------- |
| **HUB\_NAME**        | Streng | Underdomænenavn for Devolutions Cloud (påkrævet)                               | `mycompany`                            |
| **ORGANIZATION\_ID** | Streng | Organisations-GUID (valgfri – lad feltet være tomt, hvis det ikke er relevant) | `00000000-0000-0000-0000-000000000000` |

* Bemærk: Den fulde URL til Devolutions Cloud sammensættes som `https://{HUB_NAME}.devolutions.app`
* Bemærk: `ORGANIZATION_ID` er valgfri. Nogle forekomster af Devolutions Cloud kræver ikke et organisations-id. Hvis det ikke er relevant, kan De udelade denne parameter eller angive en tom streng.

#### Parametre for udrulning med konfigurationsfil

| Parameter          | Type   | Beskrivelse                                           | Målplacering                                                                   |
| ------------------ | ------ | ----------------------------------------------------- | ------------------------------------------------------------------------------ |
| **DEPLOY\_CONFIG** | Streng | Systemdækkende konfiguration (anbefalet)              | `%ProgramData%\net.devolutions\Devolutions Password Manager\DefaultConfig.cfg` |
| **USER\_CONFIG**   | Streng | Konfiguration pr. bruger (interaktive installationer) | `%LOCALAPPDATA%\net.devolutions\Devolutions Password Manager\Config.cfg`       |

#### Parametre for programindstillinger

**Generelle indstillinger**

| Parameter            | Type   | Værdier                      | Standard  | Beskrivelse                  |
| -------------------- | ------ | ---------------------------- | --------- | ---------------------------- |
| **TARGET\_LOCATION** | Streng | `roaming`, `local`, `system` | `roaming` | Hvor konfigurationen gemmes. |
| **LANGUAGE**         | Streng | Sprogkode                    | `en-US`   | Programmets sprog.           |

**Indstillinger for brugergrænseflade**

| Parameter                       | Type   | Værdier         | Standard | Beskrivelse                                                 |
| ------------------------------- | ------ | --------------- | -------- | ----------------------------------------------------------- |
| **REDUCE\_TO\_TRAY\_ON\_CLOSE** | Streng | `true`, `false` | `false`  | Minimér til meddelelsesområdet i stedet for at lukke.       |
| **USE\_FAVICON**                | Streng | `true`, `false` | `false`  | Download og vis websteders favicons.                        |
| **USE\_HUB\_EMBEDDED\_BROWSER** | Streng | `true`, `false` | `true`   | Brug indlejret browser til godkendelse i Devolutions Cloud. |

**Sikkerhedsindstillinger**

| Parameter                             | Type   | Værdier                                       | Standard | Beskrivelse                                                     |
| ------------------------------------- | ------ | --------------------------------------------- | -------- | --------------------------------------------------------------- |
| **CLEAR\_CLIPBOARD\_SENSITIVE\_DATA** | Streng | `true`, `false`                               | `false`  | Ryd udklipsholderen automatisk efter kopiering af adgangskoder. |
| **CLIPBOARD\_TIMER**                  | Tal    | Sekunder (1-999)                              | `30`     | Sekunder før udklipsholderen ryddes.                            |
| **LOCKING\_OPTION**                   | Streng | `password`, `biometric`, `windowsCredentials` | (ingen)  | Metode til at låse programmet.                                  |
| **USE\_BACKGROUND\_LOCK**             | Streng | `true`, `false`                               | `false`  | Lås, når appen minimeres til meddelelsesområdet.                |
| **USE\_LOCK\_WHEN\_INACTIVE**         | Streng | `true`, `false`                               | `false`  | Lås efter en periode med inaktivitet.                           |
| **LOCK\_INACTIVITY\_DELAY**           | Tal    | Sekunder (30-3600)                            | `30`     | Sekunder før automatisk lås.                                    |

**Synkroniseringsindstillinger**

| Parameter                                      | Type   | Værdier         | Standard | Beskrivelse                                                               |
| ---------------------------------------------- | ------ | --------------- | -------- | ------------------------------------------------------------------------- |
| **USE\_ENTRIES\_SYNC\_ON\_DATASOURCE\_ACCESS** | Streng | `true`, `false` | `false`  | Synkroniser poster automatisk, når De åbner Devolutions Password Manager. |

**Privatlivsindstillinger**

| Parameter              | Type   | Værdier         | Standard | Beskrivelse                |
| ---------------------- | ------ | --------------- | -------- | -------------------------- |
| **SHARE\_USAGE\_DATA** | Streng | `true`, `false` | `true`   | Del anonym brugsstatistik. |

### Oprettelse af konfigurationsfil

Skrivebordsprogrammet indeholder et visuelt værktøj til oprettelse af konfigurationsfiler.

#### Adgang til værktøjet

1. Start Devolutions Password Manager.
2. Gå til: ***Værktøjer*** – ***Brugerdefineret installation***.

#### Funktioner

**Fanen Eksport (opret konfiguration)**

1. Valg af arbejdsområde.

* Vis alle konfigurerede (forekomster af Devolutions Server og Devolutions Cloud)
* Vælg, hvilke arbejdsområder der skal medtages, via afkrydsningsfelter
* Flere arbejdsområder understøttes

2. Indstillingskonfiguration

* Aktivér eller deaktiver individuelle programindstillinger grupperet efter kategori:
* Generelt (sprog, adfærd for meddelelsesområde)
* Sikkerhed (udklipsholder, låsning)
* Synkronisering
* Privatliv (brugsstatistik)

3. Liveforhåndsvisning

* JSON-forhåndsvisning af konfigurationen i realtid
* Kopiér JSON til udklipsholderen
* Forhåndsvisningen opdateres, når valgene ændres

4. Eksportindstillinger

* Generer .cfg-fil: Gem konfigurationen i en `.cfg`-fil
* Kopiér MSI-kommando: Generer den fulde MSI-kommando med alle parametre

**Fanen Import (indlæs konfiguration)**

1. Filvalg

* Søg efter `.cfg`-filer
* Filvalidering og parsing

2. Forhåndsvisning før import

* Se arbejdsområder og indstillinger, før de anvendes
* Registrering af dubletter (advarer, hvis arbejdsområdet allerede findes)

3. Importhandlinger

* Bruger konfigurationen på det aktuelle program
* Opretter nye arbejdsområder, hvis de ikke findes
* Opdaterer indstillingerne med det samme

### Reference for konfigurationsindstillinger

Fuldstændig reference over alle konfigurerbare indstillinger.

#### Tilknytning af indstillingsnøgler

| Eksportnøgle (Config/MSI)            | Intern nøgle                | Type    | Standard | Beskrivelse                                                 |
| ------------------------------------ | --------------------------- | ------- | -------- | ----------------------------------------------------------- |
| **language**                         | languageCode                | Streng  | `en-US`  | Sprog i programmets brugergrænseflade                       |
| **reduceToTrayOnClose**              | minimizeOnClose             | Boolesk | `false`  | Minimér til meddelelsesområdet i stedet for at afslutte     |
| **clearClipboardSensitiveData**      | removeSensitiveFromKeyboard | Boolesk | `false`  | Timer til automatisk rydning af udklipsholderen             |
| **clipboardTimer**                   | clipboardTimer              | Heltal  | `30`     | Sekunder før udklipsholderen ryddes (1-999)                 |
| **useFavicon**                       | useRichIcons                | Boolesk | `false`  | Download websteders favicons til poster                     |
| **useEntriesSyncOnDatasourceAccess** | useEntriesSyncSpaceAccess   | Boolesk | `false`  | Synkroniser poster automatisk ved adgang til arbejdsområdet |
| **useHubEmbeddedBrowser**            | hubEmbeddedBrowser          | Boolesk | `true`   | Brug indlejret browser til godkendelse i Devolutions Cloud  |
| **shareUsageData**                   | shareAnonymousData          | Boolesk | `true`   | Del anonym brugsstatistik                                   |
| **lockingOption**                    | lockingOption               | Streng  | `(none)` | Låsemetode: `password`, `biometric`, `windowsCredentials`   |
| **useBackgroundLock**                | useBackgroundLock           | Boolesk | `false`  | Lås, når appen minimeres til meddelelsesområdet             |
| **useLockWhenInactive**              | useLockWhenInactive         | Boolesk | `false`  | Lås efter en periode med inaktivitet                        |
| **lockInactivityDelay**              | lockInactivityDelay         | Heltal  | `30`     | Sekunder før automatisk lås (30-3600)                       |

#### Understøttede sprog

| Kode     | Sprog                   |
| -------- | ----------------------- |
| `en-US`  | Engelsk (USA)           |
| `fr`     | Fransk                  |
| `de`     | Tysk                    |
| `es`     | Spansk                  |
| `cs`     | Tjekkisk                |
| `hu`     | Ungarsk                 |
| `it`     | Italiensk               |
| `nl`     | Nederlandsk             |
| `pl`     | Polsk                   |
| `ru`     | Russisk                 |
| `sv`     | Svensk                  |
| `tr`     | Tyrkisk                 |
| `uk`     | Ukrainsk                |
| `zh-CHS` | Kinesisk (forenklet)    |
| `zh-TW`  | Kinesisk (traditionelt) |

#### Låseindstillinger

| Værdi                  | Beskrivelse          | Krav                                             |
| ---------------------- | -------------------- | ------------------------------------------------ |
| **password**           | Hovedadgangskode     | Brugeren angiver adgangskoden ved første låsning |
| **biometric**          | Fingeraftryk/Face ID | Biometrisk hardware påkrævet                     |
| **windowsCredentials** | Windows Hello        | Windows 10/11 med Windows Hello                  |

* Bemærk: Hvis Windows Hello ikke er tilgængelig, bruges adgangskoden som reserve.

### Udrulningseksempler

#### Eksempel 1: Én Devolutions Server med sikkerhedsindstillinger

```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"
```

#### Eksempel 2: Devolutions Cloud med fransk sprog

```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"
```

#### Eksempel 3: Microsoft Intune-udrulning

**Trin 1: Forbered filer**

Opret en arbejdsmappe (f.eks. `C:\IntuneApps\Devolutions Password Manager\`), og placer disse filer:

* `Devolutions.PasswordManager.msi`
* `config.cfg` (oprettet via ***Værktøjer*** – ***Brugerdefineret installation*** eller manuelt)
* `Install-Devolutions.PasswordManager.ps1` (PowerShell-script nedenfor)

**Trin 2: PowerShell-installationsscript**

Opret `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
```

**Trin 3: Opret .intunewin-pakke**

Brug 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
```

**Trin 4: Konfigurer Intune-programmet**

I Microsoft Intune Portal:

1. Gå til: **Apps** – **Windows** – **Tilføj** – **Windows-app (Win32)**
2. App-pakkefil: Upload `Devolutions Password Manager.intunewin`
3. Appoplysninger: Udfyld navn, beskrivelse og udgiver
4. Programkonfiguration:

* Installationskommando: `powershell.exe -ExecutionPolicy Bypass -File .\Install-Devolutions.PasswordManager.ps1`
* Afinstallationskommando: `msiexec.exe /x {PRODUCT-CODE-GUID} /qn /norestart`
* Installationsadfærd: System

5. Krav: Windows 10 1607+ (64-bit)
6. Registreringsregler: MSI-produktkode (registreres automatisk)
7. Tildelinger: Tildel til målgrupper

**Installationsforløb på slutpunktet**

Når appen udrulles til en enhed, sker følgende automatisk:

1. Intune henter og kører `Install-Devolutions.PasswordManager.ps1`
2. Scriptet kopierer `config.cfg` til `C:\Program Files\config.cfg`
3. Scriptet installerer MSI-filen med `DEPLOY_CONFIG="C:\Program Files\config.cfg"`
4. MSI-filen læser konfigurationsfilen og skriver den til `%ProgramData%\net.devolutions\Devolutions Password Manager\DefaultConfig.cfg`
5. Når en bruger starter Devolutions Password Manager, registrerer appen den systemomfattende konfiguration og bruger den

Resultatet er, at konfigurationsfilen distribueres sammen med programmet, placeres automatisk på den rigtige placering, og installationen er fuldstændig uovervåget og kompatibel med Intune.

#### Eksempel 4: SCCM-udrulning

* Installationskommando:

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

* Afinstallationskommando:

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

* Registreringsmetode: Registreringsnøgle `HKLM\SOFTWARE\Devolutions\Devolutions Password Manager\Version`

#### Eksempel 5: Flere Devolutions Server via konfigurationsfil

Opret `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
  }
}
```

Udrul via:

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

### Fejlfinding

#### Konfigurationen er ikke anvendt

Konfigurationsfilen findes, men indstillingerne er ikke anvendt.

1. Kontrollér filplacering: Bekræft den korrekte sti (`%ProgramData%\net.devolutions\Devolutions Password Manager\DefaultConfig.cfg`)
2. Kontrollér JSON-gyldighed: Validér JSON-syntaks (ingen afsluttende kommaer, korrekte anførselstegn)
3. Kontrollér tilladelser: Brugeren skal have læseadgang til konfigurationsfilen
4. Bekræft indikatorfil: Kontrollér, om filen `config.ready` findes i samme mappe
5. Kontrollér logfiler: Gennemgå programloggene for parsingfejl

#### Indikatorfilen mangler

* Problem: Systemdækkende konfiguration ignoreres.
* Løsning: Opret filen `config.ready`:

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

#### USER\_CONFIG udruller til standardbrugerprofilen

* Problem: USER\_CONFIG mislykkes ved uovervågede/automatiserede installationer, og konfigurationen ender i `C:\Users\Default\AppData\Local`.
* Årsag: USER\_CONFIG kræver en aktiv brugersessionskontekst, som ikke er tilgængelig under automatiseret MSI-installation.
* Løsning: Brug **DEPLOY\_CONFIG** til virksomhedsudrulninger:

```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"
```

#### Lydløs MSI-installation bruger ikke konfigurationen

MSI-parametre opretter ikke konfigurationen.

1. Kontrollér parametersyntaks: Sørg for korrekt anførselstegn (brug `"value"`, ikke `'value'`)
2. Logfør MSI-installation: Tilføj `/l*v install.log` for at se detaljerede fejl
3. Bekræft kørsel af PowerShell: Kontrollér, om udførelsespolitikken blokerer scripts
4. Administrative rettigheder: Sørg for, at installationsprogrammet kører med rettighedsforhøjelse

* Eksempel med logføring:

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

#### Indstillinger gemmes ikke

Indstillingerne vender tilbage til standard efter genstart.

1. Bruger- kontra systemkonfiguration: Systemkonfigurationen anvendes kun, hvis brugerkonfiguration ikke findes. Når brugeren ændrer indstillinger, gemmes de i brugerkonfigurationen og tilsidesætter systemstandarderne.
2. Tilsidesættelse af gruppepolitik: Kontrollér, om gruppepolitikken håndhæver indstillinger
3. Filtilladelser: Bekræft skrivetilladelser til placeringen af brugerkonfigurationen

#### Arbejdsområdet findes allerede

Problem: Importen mislykkes med meddelelsen "arbejdsområdet findes allerede".

Forklaring: Konfigurationsparseren registrerer dubletter ud fra normaliseret URL (ingen forskel på store og små bogstaver, afsluttende skråstreg fjernet).

1. Fjern det eksisterende arbejdsområde manuelt før import
2. Rediger konfigurationsfilen for at fjerne dublerede poster
3. Brug værktøjet Brugerdefineret installation til at flette konfigurationer

#### Låseindstillingen virker ikke

Windows Hello aktiveres ikke.

1. Opsætning af Windows Hello: Sørg for, at Windows Hello er konfigureret under Windows-indstillinger
2. Reserve: Systemet bruger automatisk adgangskode, hvis hardwaren ikke er tilgængelig
3. Kontrollér logfiler: Gennemgå programlogge for fejl ved initialisering af biometri

### Bedste praksis

#### 1. Test konfigurationen først

Før De udruller til alle brugere:

1. Opret en testgruppe af brugere/enheder
2. Anvend konfigurationen på testgruppen
3. Bekræft, at arbejdsområder og indstillinger virker som forventet
4. Udrul til produktion

#### 2. Brug DEPLOY\_CONFIG til virksomhed

* Brug altid DEPLOY\_CONFIG til:
* Intune-udrulninger
* SCCM-udrulninger
* Lydløse installationer uden bruger
* Maskiner med flere brugere
* Delte arbejdsstationer
* Brug kun USER\_CONFIG til:
* Interaktive installationer af slutbrugere
* Enheder med én bruger
* Testscenarier

#### 3. Dokumentér konfigurationen

Vedligehold dokumentation af Deres konfiguration, herunder:

* Hvilke arbejdsområder der er forhåndskonfigureret
* Hvilke indstillinger der håndhæves
* Forventet brugeroplevelse
* Supportkontakt ved problemer

#### 4. Brugerkommunikation

Informer brugerne:

* Arbejdsområder bliver forhåndskonfigureret
* De skal stadig logge på med deres legitimationsoplysninger
* Konfigurationen sker ved første start af appen
* Kontakt it, hvis arbejdsområderne ikke vises

#### 5. Sikkerhedsovervejelser

**Anbefalede sikkerhedsindstillinger**:

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

**Hvorfor**:

* Håndhæver Windows Hello-godkendelse
* Låser appen med det samme, når den er i baggrunden
* Låser automatisk efter 5 minutters inaktivitet
* Rydder udklipsholderen efter 60 sekunder
* Deaktiverer indsamling af brugsdata (valgfrit)

#### 6. Krav til URL-format

Alle URL'er skal:

* Medtag protokol (`https://`)
* Være gyldige, tilgængelige URL'er
* Må ikke slutte med en skråstreg (appen normaliserer den)

**Eksempler:**

* `https://devolutions-server.company.com`
* `https://password-manager.devolutions.app`
* `devolutions-server.company.com` (https\:// mangler)
* `http://devolutions-server.company.com` (HTTP anbefales ikke)

#### 7. Overvejelser om domæne kontra enkeltstående

* Domænetilsluttet: Brug roaming-AppData (`TARGET_LOCATION="roaming"`) til profilsynkronisering
* Enkeltstående: Brug lokal AppData (`TARGET_LOCATION="local"`) eller system (`TARGET_LOCATION="system"`)

### Hurtig reference

#### Minimal konfigurationsskabelon

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

#### Anbefalet kommando til virksomhedsudrulning

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

{% endtab %}

{% tab title="macOS" %}

#### Hvad er forhåndskonfiguration

Forhåndskonfiguration giver it-administratorer mulighed for at udrulle Devolutions Password Manager med forhåndskonfigurerede indstillinger og arbejdsområder (forekomster af Devolutions Server og Devolutions Cloud) på administrerede macOS-slutpunkter. Det fjerner behovet for, at slutbrugere konfigurerer programmet manuelt efter installationen.

#### Vigtigste fordele

* Udrulning uden berøring: Brugere starter med fuldt konfigurerede programmer
* Ensartethed: Sørg for, at alle brugere har de samme arbejdsområder og indstillinger
* Tidsbesparelse: Fjern manuelle konfigurationstrin
* Central administration: Konfigurer fra MDM-konsollen
* Håndhævelse af politik: Kan forhindre brugere i at ændre indstillinger
* Virksomhedsstandard: Anbefalet fremgangsmåde for administrerede macOS-flåder

#### Sådan fungerer det

1. It-administratoren konfigurerer arbejdsområder og indstillinger via MDM eller konfigurationsfiler
2. MDM sender konfigurationen til administrerede enheder
3. Brugeren starter appen for første gang
4. Appen læser konfigurationen og opretter arbejdsområder automatisk
5. Brugeren godkender for at fuldføre forbindelsen (indtaster legitimationsoplysninger)

#### Vigtige bemærkninger

* Godkendelse kræves: Forhåndskonfigurerede arbejdsområder oprettes i tilstanden "afventer". Brugere skal stadig godkende (logge på) for at fuldføre forbindelsen.
* Kun ved første start: Konfigurationen anvendes én gang ved første start. Efterfølgende ændringer kræver geninstallation af appen eller manuel konfiguration.
* Legitimationsoplysninger gemmes IKKE: Forhåndskonfiguration omfatter IKKE brugerens legitimationsoplysninger. Brugere skal logge på med deres egne legitimationsoplysninger.

### Udrulningsmetoder

#### Metode 1: MDM/administrerede præferencer (anbefalet)

Udrul konfiguration via Mobile Device Management (MDM) til administrerede macOS-miljøer.

* Anvendelse: Jamf Pro, Microsoft Intune til Mac og andre MDM-løsninger
* Prioritet: Højest (tilsidesætter alle filbaserede konfigurationer)
* Præferencedomæne: `net.devolutions.authenticator`

**Fordele:**

* Central administration: Konfigurer fra MDM-konsollen
* Håndhævelse af politik: Kan forhindre brugere i at ændre indstillinger
* Højeste prioritet: Tilsidesætter lokale konfigurationsfiler
* Virksomhedsstandard: Anbefalet fremgangsmåde for administrerede macOS-flåder

Se afsnittet [MDM/administrerede indstillinger](#method-1-mdm-managed-preferences-recommended) for at få en detaljeret vejledning.

#### Metode 2: Udrulning med konfigurationsfil

Udrul en forudoprettet `.cfg`-fil til målsystemerne.

* Anvendelse: Scriptede udrulninger, miljøer uden MDM, test
* Systemomfattende placering: `/Library/Application Support/Devolutions/Devolutions Password Manager/DefaultConfig.cfg`
* Placering pr. bruger: `~/Library/Application Support/Devolutions Password Manager/Config.cfg`

Se afsnittet [Struktur for konfigurationsfil](#configuration-file-structure-1) for at få flere oplysninger.

#### Metode 3: Manuel konfiguration (kommandoen defaults)

Til manuel konfiguration eller scripting:

```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"
```

**Anvendelse**: Manuel opsætning, test, shellscripts

### MDM/administrerede præferencer

#### Jamf Pro-udrulning

**Mulighed A: Brug af JSON-skema (anbefalet)**

1. Download eller kopiér JSON-skemaet til Jamf Pro for Devolutions Password Manager:

<details>

<summary><strong>Klik for at udvide: JSON-skema til Jamf Pro for Devolutions Password Manager</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. Gå til følgende i Jamf Pro: **Computere – Konfigurationsprofiler – Program og brugerdefinerede indstillinger**
3. Klik på **Konfigurer**, og upload JSON-skemafilen
4. Konfigurer de ønskede indstillinger ved hjælp af den grafiske grænseflade fra Jamf
5. Afgræns profilen til Deres målcomputere
6. Udrul konfigurationsprofilen

**Mulighed B: Manuel konfigurationsprofil**

Hvis De ikke bruger Jamf Pro, kan De oprette en standardkonfigurationsprofil til macOS:

**Eksempelprofil** (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>
```

Udrul via:

* Jamf Pro: Konfigurationsprofiler – upload profil
* Microsoft Intune: Enhedskonfiguration – brugerdefineret profil
* Andre MDM-løsninger: Upload af brugerdefineret konfigurationsprofil

#### Microsoft Intune til Mac

1. Gå til: **Enheder** – **Konfigurationsprofiler** – **Opret profil**.
2. Platform: **macOS**.
3. Profiltype: **Brugerdefineret**.
4. Upload konfigurationsprofilen (filen `.mobileconfig`).
5. Tildel til målgrupper.
6. Udrul.

#### Bekræfter MDM-konfigurationen

På en administreret Mac:

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

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

### Struktur for konfigurationsfilen

Konfigurationsfiler bruger filtypenavnet `.cfg` og indeholder JSON-formaterede data.

#### Filformat

```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
  }
}
```

#### Skemakomponenter

**Devolutions Cloud-matrix (valgfri)**

Array af forekomster af Devolutions Cloud, der skal konfigureres.

| Felt               | Type   | Påkrævet | Beskrivelse                                                               |
| ------------------ | ------ | -------- | ------------------------------------------------------------------------- |
| **url**            | streng | Ja       | URL til Devolutions Cloud (f.eks. `https://mycompany.devolutions.app`)    |
| **organizationId** | streng | Ja       | Organisations-GUID                                                        |
| **type**           | streng | Nej      | Altid "Business" (udfyldes automatisk)                                    |
| **version**        | streng | Nej      | Version af Devolutions Cloud (udfyldes automatisk ved første forbindelse) |

**Devolutions Server-array (valgfri)**

Array af forekomster af Devolutions Server, der skal konfigureres.

| Felt              | Type   | Påkrævet | Beskrivelse                                                                   |
| ----------------- | ------ | -------- | ----------------------------------------------------------------------------- |
| **name**          | streng | Ja       | Vist navn for serveren                                                        |
| **serverUrl**     | streng | Ja       | (URL til Devolutions Server (f.eks. `https://devolutions-server.company.com`) |
| **serverVersion** | streng | Nej      | Serverversion (udfyldes automatisk ved første forbindelse)                    |

**`configs`-objekt (valgfrit)**

Programindstillinger, der skal forhåndskonfigureres.

Se [Reference til konfigurationsindstillinger](#configuration-settings-reference-1) for at få den fulde liste.

### Placeringer af konfigurationsfiler

#### Konfiguration på brugerniveau

* Sti: `~/Library/Application Support/Devolutions Password Manager/Config.cfg`
* Prioritet: Højest for brugerspecifikke konfigurationer

#### Systemdækkende konfiguration

* Sti: `/Library/Application Support/Devolutions/Devolutions Password Manager/DefaultConfig.cfg`
* Prioritet: Anvendes, hvis der ikke findes en brugerkonfiguration

#### Administrerede præferencer (MDM/Jamf)

* Prioritet: Højest (tilsidesætter alle filbaserede konfigurationer)
* Præferencedomæne: `net.devolutions.authenticator`
* Nøgler: De samme som objektet `configs` i JSON-format
* Konfiguration: Via MDM-profil eller kommandoen `defaults`

#### Prioritetsrækkefølge

Konfigurationskilder kontrolleres i følgende rækkefølge (den første, der findes, bruges):

1. Administrerede indstillinger i macOS – MDM/Jamf-politikker (højeste prioritet)
2. Brugerkonfigurationsfil – brugerspecifik konfiguration
3. Systemkonfigurationsfil – systemomfattende standard (kopieres til brugerplaceringen)

### Reference for konfigurationsindstillinger

Fuldstændig reference over alle konfigurerbare indstillinger.

#### Tilknytning af indstillingsnøgler

| Eksportnøgle (Config/MDM)            | Type    | Standard | Beskrivelse                                                 |
| ------------------------------------ | ------- | -------- | ----------------------------------------------------------- |
| **language**                         | Streng  | `en-US`  | Sprog i programmets brugergrænseflade                       |
| **reduceToTrayOnClose**              | Boolesk | `false`  | Minimér til meddelelsesområdet i stedet for at afslutte     |
| **clearClipboardSensitiveData**      | Boolesk | `false`  | Timer til automatisk rydning af udklipsholderen             |
| **clipboardTimer**                   | Heltal  | `30`     | Sekunder før udklipsholderen ryddes (1-999)                 |
| **useFavicon**                       | Boolesk | `false`  | Download websteders favicons til poster                     |
| **useEntriesSyncOnDatasourceAccess** | Boolesk | `false`  | Synkroniser poster automatisk ved adgang til arbejdsområdet |
| **useHubEmbeddedBrowser**            | Boolesk | `true`   | Brug indlejret browser til godkendelse i Devolutions Cloud  |
| **shareUsageData**                   | Boolesk | `true`   | Del anonym brugsstatistik                                   |
| **lockingOption**                    | Streng  | (ingen)  | Låsemetode: `password`, `biometric`                         |
| **useBackgroundLock**                | Boolesk | `false`  | Lås, når appen minimeres til meddelelsesområdet             |
| **useLockWhenInactive**              | Boolesk | `false`  | Lås efter en periode med inaktivitet                        |
| **lockInactivityDelay**              | Heltal  | `30`     | Sekunder før automatisk lås (30-3600)                       |

#### Understøttede sprog

| Kode     | Sprog                   |
| -------- | ----------------------- |
| `en-US`  | Engelsk (USA)           |
| `fr`     | Fransk                  |
| `de`     | Tysk                    |
| `es`     | Spansk                  |
| `cs`     | Tjekkisk                |
| `hu`     | Ungarsk                 |
| `it`     | Italiensk               |
| `nl`     | Nederlandsk             |
| `pl`     | Polsk                   |
| `ru`     | Russisk                 |
| `sv`     | Svensk                  |
| `tr`     | Tyrkisk                 |
| `uk`     | Ukrainsk                |
| `zh-CHS` | Kinesisk (forenklet)    |
| `zh-TW`  | Kinesisk (traditionelt) |

#### Låseindstillinger

| Værdi         | Beskrivelse      | Krav                                             |
| ------------- | ---------------- | ------------------------------------------------ |
| **password**  | Hovedadgangskode | Brugeren angiver adgangskoden ved første låsning |
| **biometric** | Touch ID         | Touch ID-hardware påkrævet                       |

### Udrulningseksempler

#### Eksempel 1: Jamf Pro med Devolutions Server og sikkerhedsindstillinger

Brug af Jamf JSON-skema:

1. Upload JSON-skemaet til Jamf Pro
2. Konfigurer via den grafiske brugergrænseflade:
   * Konfiguration af Devolutions Server: Tilføj server med URL'en `https://devolutions-server.company.com`
   * Låsemetode: Biometrisk (Touch ID)
   * Lås i baggrunden: Aktiveret
   * Automatisk lås ved inaktivitet: Aktiveret
   * Forsinkelse før inaktivitetslås: 5 minutter (300 sekunder)
3. Afgræns til målcomputere
4. Udrul

#### Eksempel 2: Manuel konfigurationsprofil til 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>
```

#### Eksempel 3: kommandoen defaults til test

```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
```

#### Eksempel 4: Udrulning med konfigurationsfil via script

```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"
```

#### Eksempel 5: Flere Devolutions Server via konfigurationsfil

Opret `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
  }
}
```

Udrul via script, eller placer manuelt på den systemdækkende placering.

### Fejlfinding

#### MDM-konfigurationen er ikke anvendt

Konfigurationsprofilen er installeret, men indstillingerne anvendes ikke.

1. **Bekræft præferencedomæne**: Sørg for at bruge `net.devolutions.authenticator`
2. **Kontrollér profilstatus**: Systemindstillinger – Profiler – Bekræft, at profilen er installeret.
3. **Gennemtving profilopdatering**: `sudo profiles renew -type enrollment`.
4. **Kontrollér for konflikter**: Fjern eventuelle eksisterende brugerkonfigurationsfiler.
5. **Gennemgå logfiler**: Kontrollér Console.app for fejl, der er relateret til Devolutions Password Manager.

#### Konfigurationsfilen er ikke indlæst

Konfigurationsfilen findes, men anvendes ikke.

1. Kontrollér filplacering: Bekræft den korrekte sti (`/Library/Application Support/Devolutions/Devolutions Password Manager/DefaultConfig.cfg`).
2. Kontrollér JSON-gyldighed: Validér JSON-syntaks (ingen afsluttende kommaer, korrekte anførselstegn).
3. Kontrollér tilladelser: Sørg for, at filen kan læses af alle brugere (`chmod 644`).
4. Kontrollér ejerskab: Skal ejes af root eller en administrator.
5. Slet brugerkonfiguration: Fjern `~/Library/Application Support/Devolutions Password Manager/Config.cfg`, så systemkonfigurationen kan anvendes.

#### Låseindstillingen virker ikke

Touch ID aktiveres ikke.

1. Hardwarekontrol: Bekræft, at Mac-computeren har Touch ID-hardware
2. Opsætning af Touch ID: Sørg for, at Touch ID er konfigureret under Systemindstillinger – Touch ID
3. Reserve: Systemet bruger automatisk adgangskode, hvis hardwaren ikke er tilgængelig
4. Kontrollér logfiler: Gennemgå programlogge for fejl ved initialisering af biometri

#### Forveksling af præferencedomæne

Er De i tvivl om, hvilket præferencedomæne De skal bruge.

Løsning: Brug altid `net.devolutions.authenticator` til alle konfigurationer af Devolutions Password Manager (både mobil og skrivebord).

#### Indstillinger gemmes ikke

Indstillingerne vender tilbage til standard efter genstart.

1. MDM kontra brugerkonfiguration: MDM-indstillinger har højeste prioritet og tilsidesætter brugerændringer
2. Bruger- kontra systemkonfiguration: Systemkonfigurationen anvendes kun, hvis brugerkonfiguration ikke findes
3. Filtilladelser: Bekræft skrivetilladelser til placeringen af brugerkonfigurationen

#### Arbejdsområdet findes allerede

Importen mislykkes med meddelelsen "arbejdsområdet findes allerede".

Forklaring: Konfigurationsparseren registrerer dubletter ud fra normaliseret URL (ingen forskel på store og små bogstaver, afsluttende skråstreg fjernet).

1. Fjern det eksisterende arbejdsområde manuelt, før konfigurationen anvendes.
2. Rediger konfigurationen for at fjerne dublerede poster.
3. Slet brugerkonfigurationsfilen for at gennemtvinge ny import af systemkonfigurationen.

### Bedste praksis

#### 1. Test konfigurationen først

Før De udruller til alle brugere:

1. Opret en testcomputergruppe i Jamf/Intune.
2. Anvend konfigurationen på testgruppen.
3. Bekræft, at arbejdsområder og indstillinger virker som forventet.
4. Udrul til produktion.

#### 2. Brug MDM til administrerede enhedsflåder

Brug altid MDM/administrerede præferencer til:

* Mac-computere, der administreres af Jamf Pro
* Mac-computere, der administreres af Intune
* Ethvert MDM-administreret miljø

Fordele:

* Central administration
* Håndhævelse af politik
* Højeste prioritet (tilsidesætter lokale konfigurationer)
* Standardmetode i virksomheder

#### 3. Dokumentér konfigurationen

Vedligehold dokumentation af Deres MDM-konfiguration, herunder:

* Hvilke arbejdsområder der er forhåndskonfigureret
* Hvilke indstillinger der håndhæves
* Forventet brugeroplevelse
* Supportkontakt ved problemer

#### 4. Brugerkommunikation

Informer brugerne:

* Arbejdsområder bliver forhåndskonfigureret
* De skal stadig logge på med deres legitimationsoplysninger
* Konfigurationen sker ved første start af appen
* Kontakt it, hvis arbejdsområderne ikke vises

#### 5. Sikkerhedsovervejelser

Anbefalede sikkerhedsindstillinger:

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

Hvorfor:

* Håndhæver Touch ID-godkendelse
* Låser appen med det samme, når den er i baggrunden
* Låser automatisk efter 5 minutters inaktivitet
* Rydder udklipsholderen efter 60 sekunder
* Deaktiverer indsamling af brugsdata (valgfrit)

#### 6. Krav til URL-format

Alle URL'er skal:

* Medtag protokol (`https://`)
* Være gyldige, tilgængelige URL'er
* Må ikke slutte med en skråstreg (appen normaliserer den)

Eksempler:

* `https://devolutions-server.company.com`
* `https://password-manager.devolutions.app`
* `devolutions-server.company.com` (https\:// mangler)
* `http://devolutions-server.company.com` (HTTP anbefales ikke)

#### 7. Brug Jamf JSON-skemaet

Brug altid JSON-skemaet til Jamf Pro-udrulninger:

* Giver en brugervenlig grafisk brugergrænseflade
* Validerer konfigurationen før udrulning
* Forhindrer syntaksfejl
* Viser alle tilgængelige muligheder med beskrivelser

### Hurtig reference

#### Minimal konfigurationsfil

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

#### Præferencedomæne

```
net.devolutions.authenticator
```

#### Placering af systemdækkende konfiguration

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

#### Kontrollér MDM-indstillinger

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

{% endtab %}

{% tab title="iOS" %}

#### Hvad er MDM-forhåndskonfiguration

MDM-forhåndskonfiguration (Mobile Device Management) giver it-administratorer mulighed for automatisk at klargøre arbejdsområder i Devolutions Password Manager (Devolutions Server og Devolutions Cloud) og programindstillinger på administrerede iOS-enheder, ***før*** brugerne starter appen første gang.

#### Fordele

* Udrulning uden berøring: Brugere modtager forhåndskonfigurerede arbejdsområder.
* Ensartet konfiguration: Sørg for, at alle brugere har de samme indstillinger.
* Mindre supportbelastning: Ingen grund til at guide brugere manuelt gennem opsætningen.
* Håndhæv sikkerhedspolitikker: Forhåndskonfigurer biometrisk lås, timere for udklipsholderen osv.

#### Sådan fungerer det

1. It-administratoren konfigurerer arbejdsområder og indstillinger i MDM-konsollen (Jamf eller Apple MDM).
2. MDM sender konfigurationen til administrerede enheder.
3. Brugeren starter appen for første gang.
4. Appen læser MDM-konfigurationen og opretter arbejdsområder automatisk.
5. Brugeren godkender for at fuldføre forbindelsen (indtaster legitimationsoplysninger).

#### Vigtige bemærkninger

* Godkendelse kræves: Forhåndskonfigurerede arbejdsområder oprettes i tilstanden "afventer". Brugere skal stadig godkende (logge på) for at fuldføre forbindelsen.
* Kun ved første start: Konfigurationen anvendes én gang ved første start. Efterfølgende ændringer kræver geninstallation af appen eller manuel konfiguration.
* Legitimationsoplysninger gemmes IKKE: MDM-forhåndskonfiguration omfatter IKKE brugerens legitimationsoplysninger. Brugere skal logge på med deres egne legitimationsoplysninger.

### Forudsætninger

* Jamf Pro-server eller Apple MDM-løsning
* Devolutions Password Manager udrullet via MDM (App Store eller internt)
* iOS 13.0 eller nyere på administrerede enheder
* Enheder, der er tilmeldt MDM

### Udrulning med Jamf Pro

#### Trin 1: Opret administreret appkonfiguration

1. Log på ***Jamf Pro***.
2. Gå til ***Mobilenhedsapps*** – find appen "Devolutions Password Manager".
3. Klik på appen, og gå til fanen ***Appkonfiguration***.
4. Klik på ***Tilføj*** for at oprette en ny konfiguration.

#### Trin 2: Konfigurer indstillinger

På skærmen Appkonfiguration:

**Konfigurationsmetode**

* Vælg ***Upload specfile*** i Jamf AppConfig Generator for at få en grafisk formular (anbefales), ELLER
* Vælg: ***Angiv konfiguration direkte*** som en plist/ordbog i Jamf Pro

**Mulighed A: Brug af AppConfig-specifikationsfil (anbefalet)**

Jamf Pro bruger standarden [AppConfig-community](https://www.appconfig.org/) til administreret appkonfiguration på iOS. Specifikationsfilen giver en grafisk formular i Jamf AppConfig Generator, hvor administratorer kan konfigurere indstillinger uden at skrive rå konfiguration.

1. Download [AppConfig-specifikationsfilen til Devolutions Password Manager](https://cdnweb.devolutions.net/docs/workspace_mobile_appconfig_specfile.xml).
2. Åbn [Jamf AppConfig Generator](https://generator.appconfig.jamfresearch.com/generator).
3. Upload specifikationsfilen, og konfigurer indstillingerne via den grafiske formular.
4. Download den genererede konfigurations-plist fra generatoren.
5. Gå til ***Mobilenhedsapps*** – ***Devolutions Password Manager*** – ***Appkonfiguration*** i Jamf Pro.
6. Indsæt den genererede plist i feltet Appkonfiguration, angiv målgruppen til målenhederne, og udrul.

**Mulighed B: Direkte konfiguration (alternativ)**

Hvis De ikke bruger specifikationsfilen, kan De angive konfigurationen direkte som en plist-ordbog i Jamf Pro. Brug det flade nøgleformat nedenfor. Appen transformerer automatisk flade nøgler (f.eks. `dvls_serverUrl`, `hub_url`) til den interne indlejrede 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>
```

Bemærk: Det flade nøgleformat (`dvls_serverUrl`, `hub_url`) bruges til administreret appkonfiguration i Jamf. Appen registrerer automatisk dette format og transformerer det til den interne indlejrede struktur. Et visningsnavn genereres automatisk ud fra DVLS-URL'en.

#### Trin 3: Tildel til enheder

1. Angiv ***Distributionsmetode*** til det relevante omfang (brugere, enheder eller grupper).
2. Klik på ***Gem***.
3. Send konfigurationen til målenhederne.

#### Trin 4: Bekræft udrulningen

På en administreret iOS-enhed:

1. Installer/start Devolutions Password Manager.
2. Appen bør automatisk vise forhåndskonfigurerede arbejdsområder.
3. Brugeren trykker på arbejdsområdet, indtaster legitimationsoplysninger og opretter forbindelse.

### Konfigurationsskema

#### Konfiguration af Devolutions Server

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

#### Konfiguration af Devolutions Cloud

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

#### Programindstillinger

| Indstilling                    | Type    | Gyldige værdier                | Beskrivelse                                                |
| ------------------------------ | ------- | ------------------------------ | ---------------------------------------------------------- |
| sprog                          | Streng  | "en-US", "fr", "de", "es" osv. | Visningssprog for appen                                    |
| **lockingOption**              | Streng  | "", "biometric"                | Låsemetode for appen                                       |
| **shareUsageData**             | Boolesk | true, false                    | Del anonym brugsanalyse                                    |
| **useBackgroundLock**          | Boolesk | true, false                    | Lås, når appen går i baggrunden                            |
| **backgroundLockDelay**        | Heltal  | 0, 60, 300, 900, 1800, 3600    | Forsinkelse før låsning i baggrunden (sekunder)            |
| **useLockWhenInactive**        | Boolesk | true, false                    | Aktivér automatisk lås efter inaktivitet                   |
| **lockInactivityDelay**        | Heltal  | 30, 60, 120, 180, 240, 300     | Tidsgrænse for inaktivitet (sekunder)                      |
| **useFavicon**                 | Boolesk | true, false                    | Brug websteders favicons                                   |
| **autoSearch**                 | Boolesk | true, false                    | Aktivér automatisk søgning i bokse                         |
| **useHubEmbeddedBrowser**      | Boolesk | true, false                    | Brug indlejret browser til godkendelse i Devolutions Cloud |
| **highlightSpecialCharacters** | Boolesk | true, false                    | Fremhæv specialtegn i adgangskoder                         |

### Konfigurationseksempler

#### Eksempel 1: Kun én Devolutions Server

***Jamf-konfiguration*** (med skemaets grafiske brugergrænseflade):

* Devolutions Server: Tilføj én server
  * Navn: "Corporate DVLS"
  * Server-URL: "<https://devolutions-server.acme.com>"
  * Serverversion: "2024.1"
* Forekomster af Devolutions Cloud: Lad feltet være tomt
* Programindstillinger: Behold standard

***Direkte JSON*** (hvis De ikke bruger skemaet):

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

#### Eksempel 2: Devolutions Cloud med sikkerhedsindstillinger

***Jamf-konfiguration*** (med skemaets grafiske brugergrænseflade):

* Devolutions Cloud-***forekomster***: Tilføj én forekomst af Devolutions Cloud
  * URL til Devolutions Cloud: "<https://password-manager.devolutions.app>"
  * Organisations-id: (lad feltet være tomt, eller indtast Deres organisations-id)
* ***Programindstillinger***:
  * Låsemetode: "Biometrisk (Touch ID/Face ID)"
  * Lås i baggrunden: Aktiveret
  * Forsinkelse før baggrundslås: "Med det samme"
  * Automatisk lås ved inaktivitet: Aktiveret
  * Forsinkelse før inaktivitetslås: "3 minutter"

***Direkte JSON*** (hvis De ikke bruger skemaet):

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

#### Eksempel 3: Flere arbejdsområder

***Jamf-konfiguration*** (med skemaets grafiske brugergrænseflade):

* Devolutions Server: Tilføj flere
  * Server 1: Navn "Production DVLS", URL "[https://devolutions-server–prod.company.com](https://xn--devolutions-serverprod-h15m.company.com)"
  * Server 2: Navn "Test DVLS", URL "[https://devolutions-server–test.company.com](https://xn--devolutions-servertest-h15m.company.com)"
* ***Forekomster af Devolutions Cloud***: Tilføj én
  * URL til Devolutions Cloud: "<https://password-manager.devolutions.app>"
  * Organisations-id: "org–abc123"
* ***Programindstillinger***:
  * Sprog: "English"
  * Del brugsdata: Deaktiveret

***Direkte JSON*** (hvis De ikke bruger skemaet):

```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
  }
}
```

### Fejlfinding

#### Konfigurationen er ikke anvendt

***Problem:*** Brugere rapporterer, at der ikke vises forhåndskonfigurerede arbejdsområder.

***Løsninger:***

1. ***Bekræft MDM-tilmelding:***
   * iOS: Indstillinger – Generelt – VPN og enhedsadministration – Kontrollér profil
2. ***Kontrollér konfigurationens syntaks:***
   * Validér JSON-syntaks (brug jsonlint.com)
   * Sørg for, at alle påkrævede felter findes
3. ***Bekræft, at appen er MDM-administreret:***
   * Appen skal udrulles via MDM (ikke installeres manuelt fra App Store)
4. ***Anvend konfigurationen igen:***
   * Slet appen – geninstaller via MDM – konfigurationen anvendes ved første start

#### Brugere kan ikke slette ventende arbejdsområder

Brugere sidder fast med ventende arbejdsområder, de ikke kan fjerne.

* ***Nyt i version 2025.3.2:*** Brugere kan nu slette ventende arbejdsområder
  * Fra skuffemenuen: Hold nede på arbejdsområdet, og vælg "Fjern"
  * Fra den ventende skærm: Tryk på knappen "Fjern"

#### Forkerte indstillinger anvendt

Indstillingerne matcher ikke de forventede værdier.

1. ***Kontrollér datatyper:***
   * Booleske værdier: Brug `true`/`false` (ikke strengene `"true"`/`"false"`)
   * Heltal: Brug tal uden anførselstegn (f.eks. `60` og ikke `"60"`)
   * Strenge: Brug altid anførselstegn (f.eks. `"en–US"`)
2. ***Bekræft indstillingsnavne:***
   * Kontrollér stavningen (f.eks. `lockInactivityDelay` og ikke `lockInactivityTimeout`)
   * Der skelnes mellem store og små bogstaver (brug den nøjagtige stavemåde i skemaet)

#### Flere forekomster af det samme arbejdsområde

Der vises dublerede arbejdsområder. Konfigurationen blev anvendt flere gange (appen blev geninstalleret, eller konfigurationen blev ændret).

* Forhåndskonfiguration kontrollerer eksisterende arbejdsområder ud fra URL
* Hvis der findes dubletter, kan brugere slette de ekstra via skuffemenuen

#### Biometrisk lås virker ikke

Face ID/Touch ID aktiveres ikke.

1. ***Kontrollér enhedsunderstøttelse***: Bekræft, at enheden har Face ID- eller Touch ID-hardware
2. ***Kontrollér iOS-indstillinger***: Sørg for, at Face ID/Touch ID er konfigureret under Indstillinger
3. ***Kontrollér tilladelser***: Appen kan have brug for biometrisk tilladelse fra brugeren
4. ***Reserve***: Systemet bruger automatisk adgangskode, hvis biometri ikke er tilgængelig

### Bedste praksis

#### 1. Test konfigurationen først

Før De udruller til alle brugere:

1. Opret en testgruppe af brugere/enheder i Jamf.
2. Anvend konfigurationen på testgruppen.
3. Bekræft, at arbejdsområder og indstillinger virker som forventet.
4. Udrul til produktion.

#### 2. Brug AppConfig-specifikationsfilen

Til Jamf Pro-udrulninger:

* Brug altid AppConfig-specifikationsfilen (mulighed A).
* Giver en brugervenlig grafisk formular via [Jamf AppConfig Generator](https://generator.appconfig.jamfresearch.com/generator).
* Validerer konfigurationen før udrulning.
* Forhindrer syntaksfejl.
* Viser alle tilgængelige muligheder med beskrivelser.

#### 3. Dokumentér konfigurationen

Vedligehold dokumentation af Deres MDM-konfiguration, herunder:

* Hvilke arbejdsområder der er forhåndskonfigureret
* Hvilke indstillinger der håndhæves
* Forventet brugeroplevelse
* Supportkontakt ved problemer

#### 4. Brugerkommunikation

Informer brugerne:

* Arbejdsområder bliver forhåndskonfigureret
* De skal stadig logge på med deres legitimationsoplysninger
* Konfigurationen sker ved første start af appen
* Kontakt it, hvis arbejdsområderne ikke vises

#### 5. Sikkerhedsovervejelser

***Anbefalede sikkerhedsindstillinger:***

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

***Hvorfor:***

* Håndhæver Face ID/Touch ID-godkendelse
* Låser appen med det samme, når den er i baggrunden
* Låser automatisk efter 5 minutters inaktivitet
* Deaktiverer indsamling af brugsdata (valgfrit)

#### 6. Versionskompatibilitet

* ***Minimumsversion:*** 2025.3.2 (for fuld understøttelse af ventende arbejdsområder)
* Devolutions Server-***versioner:*** Devolutions Server 2023.3+ anbefales
* ***iOS:*** 13.0+ påkrævet

#### 7. Krav til URL-format

Alle URL'er skal:

* Medtag protokol (`https://`)
* Være gyldige, tilgængelige URL'er
* Må ikke slutte med en skråstreg (appen normaliserer den)

***Eksempler:***

* `https://devolutions-server.company.com`
* `https://password-manager.devolutions.app`
* `devolutions-server.company.com` (https\:// mangler)
* `http://devolutions-server.company.com` (HTTP anbefales ikke)

#### 8. Håndter flere miljøer

For organisationer med flere miljøer (prod, dev, test):

* Opret separate Jamf-konfigurationsprofiler for hvert miljø
* Afgræns hver profil til de relevante enhedsgrupper
* Brugere i hvert miljø får automatisk de rigtige arbejdsområder

### Hurtig reference

#### Minimal konfiguration

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

#### Præferencedomæne

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

#### Oversigt over udrulningstrin

1. Download [AppConfig-specifikationsfilen](https://cdnweb.devolutions.net/docs/workspace_mobile_appconfig_specfile.xml).
2. Upload til [Jamf AppConfig Generator](https://generator.appconfig.jamfresearch.com/generator).
3. Konfigurer indstillinger via den grafiske formular.
4. Download den genererede plist.
5. I Jamf Pro: Mobilenhedsapps – Devolutions Password Manager – Appkonfiguration.
6. Indsæt plist-filen, afgræns til målenheder, og udrul.
   {% 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 by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

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

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

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.
