> 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

Los datos de configuración de PowerShell Universal se almacenan principalmente en el repositorio. De forma predeterminada, la carpeta del repositorio se encuentra en `%ProgramData%\UniversalAutomation\Repository`. Puede ajustar la ubicación del repositorio editando el fichero `appsettings.json`.

El repositorio contiene scripts de PowerShell y ficheros XML que se generan al utilizar la consola de administración de PowerShell Universal. También se supervisan los cambios en la carpeta del repositorio, por lo que cualquier cambio realizado en el disco hará que el sistema vuelva a cargar el fichero y reconfigure la plataforma. Cuando se utiliza la integración con Git, la carpeta del repositorio es la que se sincroniza con el remoto de git.

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

## Qué se almacena en el repositorio

Los ficheros almacenados en el repositorio se guardan como texto sin formato para facilitar la comparación de diferencias con las herramientas de control de código fuente.

* 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 frecuencia
* Roles
* Programaciones
* Scripts
* Configuración
* Etiquetas
* Desencadenadores
* Bóvedas

## Qué no se almacena en el repositorio

Estas entidades se almacenan en la base de datos de PowerShell Universal.

* Tokens de aplicación
* Identidades
* Historial de trabajos

## Edición del repositorio

Puede editar los ficheros del repositorio directamente en la consola de administración navegando a Configuración \ Ficheros. El editor le permite crear ficheros y carpetas y editar cualquier fichero dentro del directorio del repositorio.

<figure><img src="/files/fa5LZmEfYxIKdG1Tc1Th" alt=""><figcaption></figcaption></figure>

También puede editar el repositorio directamente en el disco utilizando editores como Visual Studio Code. De forma predeterminada, los ficheros se almacenan en `%ProgramData%\UniversalAutomation\Repository`. Deberá habilitar la recarga automática o resolver los cambios manualmente. Puede ver los ficheros modificados navegando a Configuración \ Ficheros \ Seguimiento de configuración.

## Scripts de configuración

### Authentication.ps1

{% hint style="info" %}
Almacenado en `.universal\authentication.ps1`
{% endhint %}

Este script se encarga de configurar la [autenticación por formularios](/powershell-universal/es/seguridad/security.md#forms-authentication). Si no se utiliza la autenticación por formularios, este fichero se ignora.

Puede utilizar el cmdlet [`Set-PSUAuthentication` ](/powershell-universal/es/comandos-de-powershell/set-psuauthenticationmethod.md)en este fichero.

### AiAgents.ps1

{% hint style="info" %}
Almacenado en `.universal\aiAgents.ps1`
{% endhint %}

Este script se encarga de configurar los agentes de IA. Utilice el cmdlet `New-PSUAIAgents` en este fichero.

### AiTools.ps1

{% hint style="info" %}
Almacenado en `.universal\aiTools.ps1`
{% endhint %}

Este script se encarga de configurar las herramientas de IA. Utilice el cmdlet `New-PSUAITool` en este fichero.

### Branding.ps1

{% hint style="info" %}
Almacenado en `.universal\branding.ps1`
{% endhint %}

Este script se encarga de configurar los ajustes de marca.

Puede utilizar el cmdlet New-PSUBranding en este fichero.

### Dashboards.ps1

{% hint style="info" %}
Almacenado en `.universal\dashboards.ps1`
{% endhint %}

Este script se encarga de registrar los ficheros PS1 como aplicaciones dentro del sistema. Cada comando contiene los metadatos de la aplicación, incluidos el nombre, la URL base y el entorno.

Puede utilizar el cmdlet [`New-PSUApp` ](/powershell-universal/es/comandos-de-powershell/new-psudashboard.md)en este fichero.

### Endpoints.ps1

{% hint style="info" %}
Almacenado en `.universal\endpoints.ps1`
{% endhint %}

Este script se encarga de definir todos los [endpoints de API](https://github.com/Devolutions/docs/tree/master/translations/es/powershell-universal/config/broken-reference/README.md) de la instancia de PowerShell Universal.

Puede utilizar el cmdlet [`New-PSUEndpoint` ](/powershell-universal/es/comandos-de-powershell/new-psuendpoint.md)en este fichero.

### Environments.ps1

{% hint style="info" %}
Almacenado en `.universal\environments.ps1`
{% endhint %}

Este script se encarga de definir todos los entornos dentro de PowerShell Universal.

Puede utilizar el cmdlet [`New-PSUEnvironment` ](/powershell-universal/es/comandos-de-powershell/new-psuenvironment.md)en este fichero.

### healthChecks.ps1

{% hint style="info" %}
Almacenado en `.universal\healthChecks.ps1`
{% endhint %}

Este script se encarga de definir las comprobaciones de estado dentro de PowerShell Universal.

Puede utilizar el cmdlet [`New-PSUHealthCheck` ](/powershell-universal/es/comandos-de-powershell/new-psuhealthcheck.md)en este fichero.

### Licenses.ps1

{% hint style="info" %}
Almacenado en `.universal\licenses.ps1`
{% endhint %}

Este script se encarga de definir la licencia utilizada en PowerShell Universal.

Puede utilizar el cmdlet [`Set-PSULicense` ](/powershell-universal/es/comandos-de-powershell/set-psulicense.md)en este fichero.

```
Set-PSULicense -Key "<License></License>"
```

### Initialize.ps1

{% hint style="info" %}
Almacenado en `.universal\initialize.ps1`
{% endhint %}

Este script se ejecuta antes de que se realice cualquier configuración en PowerShell Universal. El servidor está en ejecución, pero ninguno de los servicios se ha iniciado. Esto resulta útil para instalar módulos o configurar bóvedas de secretos antes de que se inicie la detección de esos recursos.

### Middleware.ps1

{% hint style="info" %}
Almacenado en `.universal\middleware.ps1`
{% endhint %}

Permite personalizar las solicitudes HTTP en PowerShell Universal.

### PublishedFolders.ps1

{% hint style="info" %}
Almacenado en `.universal\publishedFolders.ps1`
{% endhint %}

Este script se encarga de configurar las [carpetas publicadas](/powershell-universal/es/plataforma/published-folders.md).

Puede utilizar el cmdlet [`New-PSUPublishedFolder` ](/powershell-universal/es/comandos-de-powershell/new-psupublishedfolder.md)en este fichero.

### RateLimits.ps1

{% hint style="info" %}
Almacenado en `.universal\rateLimits.ps1`
{% endhint %}

Este script se encarga de configurar los [límites de frecuencia](/powershell-universal/es/api/rate-limiting.md).

Puede utilizar el cmdlet [`New-PSURateLimit` ](/powershell-universal/es/comandos-de-powershell/new-psuratelimit.md)en este fichero.

### Roles.ps1

{% hint style="info" %}
Almacenado en `.universal\roles.ps1`
{% endhint %}

Este script se encarga de configurar los [roles](/powershell-universal/es/aplicaciones/role-based-access.md).

Puede utilizar el cmdlet [`New-PSURole` ](/powershell-universal/es/comandos-de-powershell/new-psurole.md)en este fichero.

### Schedules.ps1

{% hint style="info" %}
Almacenado en `.universal\schedules.ps1`
{% endhint %}

Este script se encarga de configurar las [programaciones](/powershell-universal/es/automatizacion/schedules.md).

Puede utilizar el cmdlet [`New-PSUSchedule` ](/powershell-universal/es/comandos-de-powershell/new-psuschedule.md)en este fichero.

### Scripts.ps1

{% hint style="info" %}
Almacenado en `.universal\scripts.ps1`
{% endhint %}

Este script contiene los metadatos de los [scripts](/powershell-universal/es/automatizacion/scripts.md). Los scripts reales pueden almacenarse en cualquier ubicación. La ruta que se incluye es relativa al repositorio. También se permiten nombres de ruta completos.

Puede utilizar el cmdlet [`New-PSUScript` ](/powershell-universal/es/comandos-de-powershell/new-psuscript.md)en este fichero.

### Settings.ps1

{% hint style="info" %}
Almacenado en `.universal\settings.ps1`
{% endhint %}

Este script se encarga de definir la [configuración](/powershell-universal/es/config/settings.md) del sistema.

Puede utilizar el cmdlet [`Set-PSUSetting` ](/powershell-universal/es/comandos-de-powershell/set-psusetting.md)en este fichero.

### Tags.ps1

{% hint style="info" %}
Almacenado en `.universal\tags.ps1`
{% endhint %}

Este script se encarga de configurar las etiquetas.

Puede utilizar el cmdlet [`New-PSUTag` ](/powershell-universal/es/comandos-de-powershell/new-psutag.md)en este fichero.

### Triggers.ps1

{% hint style="info" %}
Almacenado en `.universal\triggers.ps1`
{% endhint %}

Este script se encarga de configurar los [desencadenadores](/powershell-universal/es/automatizacion/triggers.md).

Puede utilizar el cmdlet [`New-PSUTrigger` ](/powershell-universal/es/comandos-de-powershell/new-psutrigger.md)en este fichero.

### Variables.ps1

{% hint style="info" %}
Almacenado en `.universal\variables.ps1`
{% endhint %}

Este script se encarga de configurar las [variables](https://github.com/Devolutions/docs/tree/master/translations/es/powershell-universal/config/broken-reference/README.md).

Puede utilizar el cmdlet [`New-PSUVariable`](/powershell-universal/es/comandos-de-powershell/new-psuvariable.md) en este fichero.

### Vaults.ps1

{% hint style="info" %}
Almacenado en `.universal\vaults.ps1`
{% endhint %}

Este script se encarga de configurar las [bóvedas](/powershell-universal/es/plataforma/variables.md#vaults).

## Plantillas

Mediante la carpeta Templates del repositorio, puede crear una selección de plantillas de elementos para las funciones más utilizadas en PowerShell Universal. Esto incluye aplicaciones, páginas de aplicación, scripts y endpoints.

<figure><img src="/files/3Jg7g6wbB3koN34Y0BoZ" alt=""><figcaption><p>Plantilla de script</p></figcaption></figure>

Los ficheros PS1 de las siguientes carpetas se ofrecerán como plantillas en la consola de administración.

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

## .psuignore

El fichero `.psuignore` se puede usar para excluir determinados ficheros o patrones del observador del sistema de ficheros en PowerShell Universal. Esto resulta útil al guardar ficheros como registros en el directorio del repositorio. El formato del fichero debe ser una única expresión regular por línea. Si la expresión regular coincide con una ruta, el sistema de configuración la ignorará.

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

## Codificación de ficheros

Puede configurar la codificación de ficheros en la página Configuración \ General. De forma predeterminada, PowerShell Universal usará UTF-8 con una marca de orden de bytes (`utf-8-bom`) al principio del fichero. Si desea desactivar la marca de orden de bytes, puede cambiar la codificación a `utf-8`.

Las codificaciones admitidas son cualquiera de las devueltas por [Encoding.GetEncodings](https://learn.microsoft.com/en-us/dotnet/api/system.text.encoding.getencodings?view=net-10.0#system-text-encoding-getencodings). Por ejemplo:

* `utf-32`
* `utf-32-bom`
* `utf-8`
* `utf-8-bom`
* `windows-1250`

Puede añadir `-bom` al final de la codificación para añadir la marca de orden de bytes.

## Secciones de configuración de solo lectura

Las secciones de solo lectura le permiten incluir script en sus ficheros de configuración que no se verán afectados por los cambios en la consola de administración. Esto le permite ejecutar lógica adicional, generar recursos de forma dinámica y crear clases para usarlas en esquemas de OpenAPI.

La región `PSUHeader` se coloca en la parte superior de su script. `PSUFooter` se coloca en la parte inferior.

```powershell
#region PSUHeader 

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

    }
}

#endregion

New-PSUEndpoint -Url "/user" -Endpoint {

}

#region PSUFooter
#endregion
```

## Recursos de base de datos

Opcionalmente, puede configurar los recursos para que se almacenen en la base de datos en lugar de en el repositorio de configuración. Estos recursos ya no se almacenarán en disco, sino directamente en la base de datos. Esto los hace disponibles al instante para permitir los ordenadores conectados en el clúster de PSU.

{% hint style="warning" %}
Cuando se configura, los ficheros de configuración de los recursos se ignorarán.
{% endhint %}

Algunos recursos no son compatibles. Entre ellos se incluyen:

* Aplicaciones
* Endpoints con rutas
* Scripts
* Módulos

Para configurar un recurso para su persistencia en la base de datos, debe configurar los [App Settings](/powershell-universal/es/config/settings.md) para cada tipo de clase. A continuación se muestra un ejemplo de almacenamiento de 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.
