> 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/powershell-universal/da/config/repository.md).

# Lager

Konfigurer lagring af PowerShell Universal-lageret, filbaseret konfiguration, databaseressourcer, skabeloner og filkodning.

PowerShell Universal gemmer primært konfiguration i sit lager. Standardlagermappen er `%ProgramData%\UniversalAutomation\Repository`; skift placeringen i `appsettings.json`.

Lageret indeholder PowerShell-konfigurationsscripts og XML-filer, der er oprettet af admin console. PowerShell Universal overvåger mappen for ændringer og genindlæser den berørte konfiguration. Når Git-synkronisering er aktiveret, er dette den mappe, der synkroniseres med fjernlageret.

Alle konfigurationscmdletter er en del af [Universal-modulet](https://www.powershellgallery.com/packages/Universal).

## Hvad der er gemt i lageret

Konfiguration gemmes som ren tekst til kildekontrolvenlige diffs. Lagerbaserede ressourcer omfatter godkendelse, AI-agenter og værktøjer, apps, slutpunkter, miljøer, licenser, logonsider, sider, publicerede mapper, hastighedsgrænser, roller, tidsplaner, scripts, indstillinger, mærker, udløsere, variabler og bokse.

App-tokens, identiteter og jobhistorik gemmes i PowerShell Universal-databasen.

## Redigering af lageret

Rediger lagerfiler i admin console under **Source Control > Files / Repository > Files**, hvor De kan oprette mapper og redigere filer i lagerkataloget. De kan også redigere filer på disken med en editor som Visual Studio Code.

Når De redigerer på disken, skal De aktivere automatisk genindlæsning eller løse ændringer manuelt. Se ventende ændringer under **Source Control > Files / Repository > Configuration Changes**.

## Konfigurationsscripts

Konfigurationsscripts findes i kataloget `.universal`. Admin console vedligeholder de genererede dele af disse filer, mens områderne `PSUHeader` og `PSUFooter` forbliver skrivebeskyttede. Brug disse områder til brugerdefineret logik, genererede ressourcer eller klasser, der kræves af OpenAPI-skemaer.

```powershell
#region PSUHeader

1..100 | ForEach-Object {
    New-PSUEndpoint -Url "/endpoint/$_" -Endpoint { }
}

#endregion

New-PSUEndpoint -Url '/user' -Endpoint { }

#region PSUFooter
#endregion
```

| Fil                             | Formål                                                                     |
| ------------------------------- | -------------------------------------------------------------------------- |
| `authentication.ps1`            | Konfiguration af formulargodkendelse.                                      |
| `aiAgents.ps1` og `aiTools.ps1` | AI-agenter og værktøjer.                                                   |
| `branding.ps1`                  | Brandingindstillinger.                                                     |
| `dashboards.ps1`                | App-registrering og metadata.                                              |
| `endpoints.ps1`                 | Definitioner af API-slutpunkter.                                           |
| `environments.ps1`              | Kørselsmiljøer.                                                            |
| `healthChecks.ps1`              | Sundhedstjek.                                                              |
| `initialize.ps1`                | Kører, før konfigurationsregistreringen starter.                           |
| `licenses.ps1`                  | Produktlicenskonfiguration.                                                |
| `middleware.ps1`                | Tilpasning af HTTP-anmodning.                                              |
| `publishedFolders.ps1`          | Publicerede mapper.                                                        |
| `rateLimits.ps1`                | Hastighedsbegrænsninger.                                                   |
| `roles.ps1`                     | Roles.                                                                     |
| `schedules.ps1`                 | Schedules.                                                                 |
| `scripts.ps1`                   | Scriptmetadata; scriptstier kan være relative til lageret eller absolutte. |
| `settings.ps1`                  | Platformsindstillinger.                                                    |
| `tags.ps1`                      | Tags.                                                                      |
| `triggers.ps1`                  | Triggers.                                                                  |
| `variables.ps1`                 | Variables.                                                                 |
| `vaults.ps1`                    | Vaults.                                                                    |
| `workflows.ps1`                 | Arbejdsflowdefinitioner, når arbejdsflows bruger persistens i lageret.     |

## Templates

Brug mappen `Templates` til at levere skabeloner til ressourcer, der ofte oprettes i admin console. PowerShell-scripts i følgende mapper vises som skabeloner:

* `Templates\App`
* `Templates\AppPage`
* `Templates\Endpoint`
* `Templates\Script`

## .psuignore

Brug `.psuignore` til at udelukke filer og stier fra filsystemovervågningen af konfigurationen. Det er nyttigt til logge eller andre filer, der gemmes ved siden af konfigurationen. Tilføj ét regulært udtryk pr. linje; matchende stier ignoreres.

```
logs.*
.git.*
```

## Filkodning

Konfigurer filkodning under **tandhjulet Settings > General**. Standarden er UTF-8 med et byteordremærke (`utf-8-bom`). Vælg `utf-8` for at udelade byteordremærket.

PowerShell Universal understøtter de kodninger, der returneres af [Encoding.GetEncodings](https://learn.microsoft.com/en-us/dotnet/api/system.text.encoding.getencodings?view=net-10.0), herunder `utf-32`, `utf-32-bom`, `utf-8`, `utf-8-bom` og `windows-1250`. Føj `-bom` til et kodningsnavn for at medtage et byteordremærke.

## Databaseressourcer

De kan gemme udvalgte ressourcer i databasen i stedet for i konfigurationslageret. Databasebaserede ressourcer er straks tilgængelige på tværs af forbundne computere i en PowerShell Universal-klynge.

> \[!WARNING] Når en ressource er konfigureret til persistens i databasen, ignorerer PowerShell Universal dens konfigurationsfil for lageret.

Apps, slutpunkter med stier, scripts og moduler kan ikke bruge databasepersistens.

Konfigurer en ressource ved at angive `Data:Persistence:<ResourceType>` til `Database` i `appsettings.json`, og genstart derefter PowerShell Universal. Dette gemmer for eksempel arbejdsflows i databasen i stedet for `.universal\workflows.ps1`:

```json
{
  "Data": {
    "Persistence": {
      "Workflow": "Database"
    }
  }
}
```

Angiv den tilsvarende miljøvariabel, før PowerShell Universal startes:

```
Data__Persistence__Workflow=Database
```

Efter genstart gemmes nye og redigerede arbejdsflows i databasen og bevares på tværs af genstarter. Arbejdsflowparametre følger persistensindstillingen for det overordnede arbejdsflow, så de også gemmes i databasen. Det samme indstillingsmønster gælder for alle understøttede databaseressourcer.

Følgende gemmer for eksempel tidsplaner og tidsplansparametre i databasen:

```json
{
  "Data": {
    "Persistence": {
      "Schedule": "Database",
      "ScheduleParameter": "Database"
    }
  }
}
```


---

# 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/powershell-universal/da/config/repository.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.
