> 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/rdm/fr/knowledge-base/how-to-articles/execute-a-powershell-script-before-opening-a-connection.md).

# Exécuter un script PowerShell avant d'ouvrir une connexion

Exécuter un script PowerShell avant d'ouvrir une connexion dans Remote Desktop Manager pour modifier les propriétés de session ou annuler le lancement.

Il est possible d'exécuter un script PowerShell avant d'établir une connexion, d'annuler le lancement, et même d'importer des scripts PowerShell externes. Pour effectuer ces actions, il faut aller dans les ***Propriétés*** de l'entrée sous ***Événements*** – ***Avant l'ouverture***, et choisir ***Exécuter PowerShell*** dans le menu déroulant le plus haut.

En utilisant la propriété $RDM.connection, le script modifie temporairement n'importe laquelle des propriétés de la session, dans le contexte du lancement de la session uniquement. Lorsque la session est fermée, les propriétés reviennent à leurs valeurs d'origine.

Voici quelques exemples de scripts pouvant être exécutés de cette manière.

### Ajouter la date au titre de l'onglet

Dans la fenêtre ***Script PowerShell***, copier le script fourni ci-dessous et cliquer sur ***OK***.

```powershell
$date = Get-Date -DisplayHint Date
$RDM.Connection.TabTitle = $RDM.Connection.Name + "(" + $date + ")"
```

### Annuler le lancement d'une session

Pour annuler le lancement d'une session, dans la fenêtre ***Script PowerShell*** de l'entrée, copier le script ci-dessous et cliquer sur ***OK*** pour enregistrer.

```powershell
$RDM.Cancel = $true
```

### Exécuter des applets de commande du module PowerShell Devolutions

Le module PowerShell Devolutions peut être utilisé pour exécuter des applets de commande dans des entrées spécifiques à l'aide de la commande `Import-Module`.

```powershell
Import-Module DnsClient
$RDM.connection.TeamViewer.ID = (Resolve-DnsName -Name $HOST$).IPAddress
```

Dans cet exemple, le script charge le DnsClient à l'aide de `Import-Module`, recherche l'adresse IP correspondant au nom d'hôte de l'entrée, et l'inscrit dans le champ ***TeamViewer ID***.

### Importer un script PowerShell externe

L'applet de commande `Import-Module` peut être utilisée pour appeler un script PowerShell externe.

```powershell
Import-Module c:\Temp\RSAToken.ps1
$RSAToken = New_RSAToken
$RDM.Connection.RDP.password = $RDM.Connection.RDP.password + $RSAToken
```

Dans cet exemple, l'applet de commande `Import-Module` charge le script RSAToken.ps1 et appelle sa fonction New\_RSAToken, qui retourne une valeur. Ensuite, elle ajoute le contenu de la variable $RSAToken au mot de passe de la session avant d'ouvrir la session.


---

# 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/rdm/fr/knowledge-base/how-to-articles/execute-a-powershell-script-before-opening-a-connection.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.
