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