> 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/fr/config/psucli.md).

# Outil de ligne de commande psu

Utilisez l'outil de ligne de commande psu dans PowerShell Universal pour réinitialiser les mots de passe d'administrateur, convertir ou migrer des bases de données, et cloner, extraire ou pousser des

`psu` est inclus dans le support d'installation de PowerShell Universal.

## admin

Opérations du compte administrateur

### reset

Réinitialiser le mot de passe du compte administrateur local en cas de verrouillage. Le compte sera `admin` avec le mot de passe `admin` .

{% code overflow="wrap" %}

```powershell
psu admin reset --connection-string 'Data Source=C:\ProgramData\UniversalAutomation\database.db'
```

{% endcode %}

| Argument            | Description                                                                               | Requis |
| ------------------- | ----------------------------------------------------------------------------------------- | ------ |
| --connection-string | La chaîne de connexion à la base de données                                               | ✅      |
| --database-type     | PostgreSQL, SQL ou SQLite (par défaut)                                                    | ❌      |
| --encryption-key    | Clé de chiffrement du coffre de la base de données, si modifiée.                          | ❌      |
| --password          | Mot de passe du coffre de la base de données, si modifié.                                 | ❌      |
| --key-size          | Taille de la clé du mot de passe du coffre de la base de données, si modifiée depuis 128. | ❌      |

## db

Commandes pour travailler avec la base de données PowerShell Universal.

### convert

Convertir une base de données LiteDB v4 en SQLite

```
psu db convert --path C:\ProgramData\UniversalAutomation\databased.db
```

| Argument | Description                                 | Requis |
| -------- | ------------------------------------------- | ------ |
| --path   | Le chemin de la base de données à convertir | ✅      |

### schema

Migrer d'une version de schéma à une autre. La migration vers des versions inférieures peut entraîner une perte de données. Cela peut aussi être utilisé pour créer une nouvelle base de données à partir de zéro selon le schéma cible.

```
psu db schema --connection-string 'Server=SQL;Data Source=PSU;Integrated Security=True' --schema-version 5.1.0 --database-type 'SQL'
```

| Argument            | Description                                                                  | Requis |
| ------------------- | ---------------------------------------------------------------------------- | ------ |
| --connection-string | Chaîne de connexion à la base de données                                     | ✅      |
| --target-version    | La version du schéma de base de données. La valeur par défaut est « Latest » | ❌      |
| --database-type     | PostgreSQL, SQL ou SQLite (par défaut)                                       | ❌      |

### migrate

{% hint style="warning" %}
La conversion d'un type de base de données en un autre peut être un processus problématique et vous pourriez éprouver des problèmes. Il est préférable de choisir le type de base de données final lors de la première installation. Sachez que SQLite ne s'adapte pas à l'échelle; si vous prévoyez que votre instance prendra de l'ampleur plus tard, vous devriez choisir un autre type de base de données.
{% endhint %}

Migre d'une base de données à une autre. Cette commande peut migrer entre des types de bases de données.

```
psu db migrate --source-connection-string 'Server=SQL;Data Source=PSU;Integrated Security=True' -source-database-type 'SQL' --target-connection-string 'Server=PostgreSQL;Data Source=PSU;Integrated Security=True' --target-database-type 'PostgreSQL'
```

| Argument                   | Description                                     | Requis |
| -------------------------- | ----------------------------------------------- | ------ |
| --target-connection-string | Chaîne de connexion à la base de données cible  | ✅      |
| --source-connection-string | Chaîne de connexion à la base de données source | ✅      |
| --target-database-type     | PostgreSQL, SQL ou SQLite (par défaut)          | ❌      |
| --source-database-type     | PostgreSQL, SQL ou SQLite (par défaut)          | ❌      |

#### Migration entre les versions

Nous recommandons de mettre à jour le schéma de votre base de données vers la version vers laquelle vous souhaitez migrer avant d'exécuter la commande de migration, afin d'éviter les différences dans le schéma.

{% code overflow="wrap" lineNumbers="true" fullWidth="false" %}

```powershell
# Update source schema version
psu db schema --connection-string 'Data Source=C:\ProgramData\UniversalAutomation\database.db' --database-type 'SQLite'
# Migrate to new data source
psu db migrate --source-connection-string 'Data Source=C:\ProgramData\UniversalAutomation\database.db' --target-connection-string 'Server=PostgreSQL;Data Source=PSU;Integrated Security=True' --target-database-type 'PostgreSQL'
```

{% endcode %}

## git

Commandes pour travailler avec les dépôts git PSU. Cette commande utilise les services git internes pour travailler avec le dépôt local.

### clone

Clone un dépôt git à l'aide du service de synchronisation git.

```
psu git clone --url http://github.com/ironmansoftware/psu.git --path C:\ProgramData\UniversalAutomation\Repository --username 'adamdriscoll' --password 'gh__1234123' --branch main
```

| Argument   | Description                            | Requis |
| ---------- | -------------------------------------- | ------ |
| --url      | L'URL du remote git.                   | ✅      |
| --path     | Le chemin local vers lequel cloner     | ✅      |
| --username | Le nom d'utilisateur pour le remote.   | ❌      |
| --password | Le mot de passe pour le remote         | ❌      |
| --branch   | La branche à cloner (main par défaut). | ❌      |

### pull

Effectue un pull depuis un remote git. Un clone sera appelé si le dépôt local n'existe pas.

```
psu git pull --url http://github.com/ironmansoftware/psu.git --path C:\ProgramData\UniversalAutomation\Repository --username 'adamdriscoll' --password 'gh__1234123' --branch main
```

| Argument   | Description                            | Requis |
| ---------- | -------------------------------------- | ------ |
| --url      | L'URL du remote git.                   | ✅      |
| --path     | Le chemin local vers lequel cloner     | ✅      |
| --username | Le nom d'utilisateur pour le remote.   | ❌      |
| --password | Le mot de passe pour le remote         | ❌      |
| --branch   | La branche à cloner (main par défaut). | ❌      |

### push

Effectue un push vers un remote git. Le dépôt doit d'abord être cloné. Les modifications ne seront pas indexées durant le push.

```
psu git push --url http://github.com/ironmansoftware/psu.git --path C:\ProgramData\UniversalAutomation\Repository --username 'adamdriscoll' --password 'gh__1234123' --branch main
```

| Argument   | Description                                          | Requis |
| ---------- | ---------------------------------------------------- | ------ |
| --url      | L'URL du remote git.                                 | ✅      |
| --path     | Le chemin local vers lequel cloner                   | ✅      |
| --username | Le nom d'utilisateur pour le dépôt distant.          | ❌      |
| --password | Le mot de passe pour le dépôt distant                | ❌      |
| --branch   | La branche à cloner (la valeur par défaut est main). | ❌      |


---

# 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/fr/config/psucli.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.
