> 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/es/config/repository.md).

# Repositorio

Configure el almacenamiento del repositorio de PowerShell Universal, la configuración basada en ficheros, los recursos de base de datos, las plantillas y la codificación de ficheros.

PowerShell Universal almacena principalmente la configuración en su repositorio. La carpeta de repositorio predeterminada es `%ProgramData%\UniversalAutomation\Repository`; cambie la ubicación en `appsettings.json`.

El repositorio contiene scripts de configuración de PowerShell y ficheros XML creados por la consola de administración. PowerShell Universal vigila la carpeta en busca de cambios y recarga la configuración afectada. Cuando la sincronización con Git está habilitada, esta es la carpeta que se sincroniza con el repositorio remoto.

Todos los cmdlets de configuración forman parte del [módulo Universal](https://www.powershellgallery.com/packages/Universal).

## Qué se almacena en el repositorio

La configuración se almacena como texto sin formato para obtener diferencias compatibles con el control de código fuente. Los recursos respaldados por el repositorio incluyen autenticación, agentes y herramientas de IA, aplicaciones, endpoints, entornos, licencias, páginas de inicio de sesión, páginas, carpetas publicadas, límites de velocidad, roles, programaciones, scripts, configuración, etiquetas, disparadores, variables y bóvedas.

Los tokens de aplicación, las identidades y el historial de trabajos se almacenan en la base de datos de PowerShell Universal.

## Editar el repositorio

Edite los ficheros del repositorio en la consola de administración en **Control de código fuente > Ficheros / Repositorio > Ficheros**, donde puede crear carpetas y editar ficheros en el directorio del repositorio. También puede editar los ficheros en disco con un editor como Visual Studio Code.

Al editar en disco, habilite la recarga automática o resuelva los cambios manualmente. Vea los cambios pendientes en **Control de código fuente > Ficheros / Repositorio > Cambios de configuración**.

## Scripts de configuración

Los scripts de configuración se encuentran en el directorio `.universal`. La consola de administración mantiene las partes generadas de estos ficheros, mientras que las regiones `PSUHeader` y `PSUFooter` permanecen de solo lectura. Utilice estas regiones para lógica personalizada, recursos generados o clases requeridas por los esquemas de OpenAPI.

```powershell
#region PSUHeader

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

#endregion

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

#region PSUFooter
#endregion
```

| Fichero                        | Finalidad                                                                                              |
| ------------------------------ | ------------------------------------------------------------------------------------------------------ |
| `authentication.ps1`           | Configuración de la autenticación por formularios.                                                     |
| `aiAgents.ps1` y `aiTools.ps1` | Agentes y herramientas de IA.                                                                          |
| `branding.ps1`                 | Configuración de la personalización de marca.                                                          |
| `dashboards.ps1`               | Registro y metadatos de aplicaciones.                                                                  |
| `endpoints.ps1`                | Definiciones de endpoints de API.                                                                      |
| `environments.ps1`             | Entornos de ejecución.                                                                                 |
| `healthChecks.ps1`             | Comprobaciones de estado.                                                                              |
| `initialize.ps1`               | Se ejecuta antes de que comience la detección de configuración.                                        |
| `licenses.ps1`                 | Configuración de licencias del producto.                                                               |
| `middleware.ps1`               | Personalización de solicitudes HTTP.                                                                   |
| `publishedFolders.ps1`         | Carpetas publicadas.                                                                                   |
| `rateLimits.ps1`               | Límites de velocidad.                                                                                  |
| `roles.ps1`                    | Roles.                                                                                                 |
| `schedules.ps1`                | Programaciones.                                                                                        |
| `scripts.ps1`                  | Metadatos de scripts; las rutas de los scripts pueden ser relativas al repositorio o absolutas.        |
| `settings.ps1`                 | Configuración de la plataforma.                                                                        |
| `tags.ps1`                     | Etiquetas.                                                                                             |
| `triggers.ps1`                 | Disparadores.                                                                                          |
| `variables.ps1`                | Variables.                                                                                             |
| `vaults.ps1`                   | Bóvedas.                                                                                               |
| `workflows.ps1`                | Definiciones de flujos de trabajo cuando los flujos de trabajo usan la persistencia en el repositorio. |

## Plantillas

Utilice la carpeta `Templates` para proporcionar plantillas de los recursos que se crean con más frecuencia en la consola de administración. Los scripts de PowerShell de las siguientes carpetas aparecen como plantillas:

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

## .psuignore

Utilice `.psuignore` para excluir ficheros y rutas del observador del sistema de ficheros de configuración. Esto resulta útil para registros u otros ficheros que se almacenan junto a la configuración. Añada una expresión regular por línea; las rutas coincidentes se ignoran.

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

## Codificación de ficheros

Configure la codificación de ficheros en **Rueda de configuración > General**. El valor predeterminado es UTF-8 con marca de orden de bytes (`utf-8-bom`). Seleccione `utf-8` para omitir la marca de orden de bytes.

PowerShell Universal admite las codificaciones devueltas por [Encoding.GetEncodings](https://learn.microsoft.com/en-us/dotnet/api/system.text.encoding.getencodings?view=net-10.0), incluidas `utf-32`, `utf-32-bom`, `utf-8`, `utf-8-bom` y `windows-1250`. Añada `-bom` al nombre de una codificación para incluir una marca de orden de bytes.

## Recursos de base de datos

Puede almacenar determinados recursos en la base de datos en lugar de en el repositorio de configuración. Los recursos respaldados por la base de datos están disponibles de inmediato en todos los ordenadores conectados de un clúster de PowerShell Universal.

> \[!WARNING] Cuando un recurso está configurado para la persistencia en base de datos, PowerShell Universal ignora su fichero de configuración del repositorio.

Las aplicaciones, los endpoints con rutas, los scripts y los módulos no pueden usar la persistencia en base de datos.

Configure un recurso estableciendo `Data:Persistence:<ResourceType>` en `Database` en `appsettings.json` y, a continuación, reinicie PowerShell Universal. Por ejemplo, esto almacena los flujos de trabajo en la base de datos en lugar de en `.universal\workflows.ps1`:

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

Establezca la variable de entorno equivalente antes de iniciar PowerShell Universal:

```
Data__Persistence__Workflow=Database
```

Tras el reinicio, los flujos de trabajo nuevos y editados se guardan en la base de datos y se conservan entre reinicios. Los parámetros de los flujos de trabajo siguen la configuración de persistencia del flujo de trabajo principal, por lo que también se almacenan en la base de datos. El mismo patrón de configuración se aplica a todos los recursos de base de datos admitidos.

Por ejemplo, lo siguiente almacena las programaciones y los parámetros de las programaciones en la base de datos:

```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 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/powershell-universal/es/config/repository.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.
