> 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/automatisation/triggers.md).

# Déclencheurs

Déclenchez automatiquement des scripts PowerShell Universal lors d'événements comme la fin d'une tâche, le démarrage du serveur, la connexion d'un utilisateur, la synchronisation git ou les changement

> Les déclencheurs nécessitent une [licence](/powershell-universal/fr/licensing.md).

Les déclencheurs démarrent automatiquement des scripts PowerShell Universal lorsque des événements de la plateforme se produisent. Utilisez-les pour la gestion globale des erreurs, les notifications, les intégrations et l'automatisation événementielle.

> Les tâches déclenchées ne démarrent pas de déclencheurs additionnels. Les déclencheurs sont stockés dans `triggers.ps1`.

## Événements déclencheurs

Vous pouvez créer des déclencheurs pour les événements suivants :

* Tâche démarrée, annulée, terminée, terminée avec erreur, en attente de rétroaction, échouée et expirée
* Appli (tableau de bord) démarrée, arrêtée et session expirée
* Event Hub connecté et déconnecté
* Échec de la vérification de l'état
* Serveur démarré et en cours d'arrêt
* Nouvelle connexion d'utilisateur et connexion d'utilisateur
* Utilisation d'un jeton d'appli révoqué
* Échec de l'authentification de l'API et erreur d'API
* Synchronisation Git
* Licence expirée et licence expirant bientôt
* Ordinateur hors ligne
* Notification créée

### Notification créée

L'événement **Notification créée** s'exécute lorsque PowerShell Universal crée une notification par le biais du service de notification ou de l'API de notification. Utilisez-le pour acheminer les alertes de la plateforme vers des systèmes tels que Teams, le courriel, la billetterie ou les outils de surveillance.

Le script du déclencheur reçoit la notification créée dans le paramètre `$Notification`. Elle comprend l'ID de la notification, le titre, la description, le niveau, l'heure de création, la tâche source, le script, le tableau de bord, la licence, l'identité et la trace de la pile lorsqu'elle est disponible.

```powershell
param($Notification)

if ($Notification.Level.ToString() -eq 'Error') {
    Send-MailMessage -To 'operations@example.com' `
        -Subject $Notification.Title `
        -Body $Notification.Description
}
```

Créez le déclencheur dans **Automation > Triggers** en sélectionnant **Notification Created** comme type d'événement, ou définissez-le dans un dépôt de configuration :

```powershell
New-PSUTrigger `
    -Name 'Route error notifications' `
    -EventType NotificationCreated `
    -TriggerScript 'RouteNotification.ps1'
```

Les notifications générées lorsqu'une tâche déclenchée démarre ne soulèvent pas cet événement. Cela empêche les déclencheurs de notification de créer récursivement d'autres tâches déclenchées par une notification.

### Nouvelle connexion d'utilisateur

L'événement Nouvelle connexion d'utilisateur se produit lorsqu'un utilisateur accède à PowerShell Universal pour la première fois. Le script reçoit un paramètre `$User` contenant les informations sur l'utilisateur.

```powershell
@{
    Name = 'username'
    Roles = @()
}
```

### Connexion d'utilisateur

L'événement Connexion d'utilisateur se produit lorsqu'un utilisateur accède à PowerShell Universal. Le script reçoit un paramètre `$data` contenant les informations sur l'utilisateur.

```powershell
@{
    UserName = 'username'
    RemoteIpAddress = ''
    LocalPort = ''
    RemotePort = ''
}
```

### Utilisation d'un jeton d'appli révoqué

L'événement de jeton d'appli révoqué se produit lorsqu'un jeton d'appli révoqué est utilisé. Le script reçoit un paramètre `$data` contenant le contenu du jeton d'appli sous forme de chaîne.

### Synchronisation Git

L'événement Synchronisation Git se produit pour les synchronisations Git réussies comme pour celles qui échouent. Le script reçoit un paramètre `$data` contenant l'état de Git.

```csharp
public class GitStatus
{
    public long Id { get; set; }
    public string CommitId { get; set; }
    public DateTime Timestamp { get; set; }
    public TimeSpan SyncTime { get; set; }
    public int Changes { get; set; }
    public string Location { get; set; }
    public string Remote { get; set; }
    public GitStatusResult Result { get; set; }
    public string ResultMessage { get; set; }
    public string ComputerName { get; set; }
}
```

### Ordinateur hors ligne

L'événement Ordinateur hors ligne fournit l'objet ordinateur dans le paramètre `$Data`.

```powershell
class Computer {
    [long]$Id
    [string]$Name
    [DateTime]$HeartBeat
    [ComputerStatus]$Status
    [bool]$Maintenance
    [bool]$Deleted
    [List[ComputerTag]]$Tags
    [string]$Version
    [DateTime]$FileSyncTimestamp
    [string]$DeploymentVersion
    [string]$DeploymentName
    [string]$GitSettings
    [string]$GitBranch
    [ComputerType]$Type
}
```

## Déclencheurs globaux

Les déclencheurs globaux exécutent le script assigné chaque fois que l'événement sélectionné se produit. Par exemple, ce déclencheur exécute `Script.ps1` chaque fois qu'une tâche démarre :

```powershell
New-PSUTrigger -Name 'Job started' -EventType JobStarted -TriggerScript 'Script.ps1'
```

## Déclencheurs de ressource

Les déclencheurs de ressource s'exécutent uniquement lorsqu'un événement se produit sur la ressource sélectionnée. Par exemple, ce déclencheur s'exécute lorsque le tableau de bord sélectionné s'arrête :

```powershell
New-PSUTrigger `
    -Name 'Dashboard stopped' `
    -EventType DashboardStopped `
    -TriggerScript 'Script.ps1' `
    -Dashboard 'Dashboard'
```

## Métadonnées d'événement

Une tâche créée par un déclencheur reçoit des métadonnées sur l'événement qui l'a invoquée. Les déclencheurs de tâche reçoivent un paramètre `$Job` et les déclencheurs de tableau de bord reçoivent un paramètre `$Dashboard`. Les déclencheurs d'état du serveur ne reçoivent pas de paramètre. Les déclencheurs de notification reçoivent `$Notification`.

```powershell
param($Job)
$Job
```

## Conditions

Utilisez le paramètre `-Condition` de `New-PSUTrigger` pour déterminer si le déclencheur doit s'exécuter. La condition s'exécute localement sur le serveur et doit retourner `$true` ou `$false`.

Par exemple, cette condition s'exécute uniquement lorsque la variable d'environnement `Environment` est définie à `production` :

```powershell
New-PSUTrigger -Condition { $Env:Environment -eq 'production' }
```

## Applets de commande PowerShell

Gérez les déclencheurs avec `New-PSUTrigger`, `Get-PSUTrigger`, `Set-PSUTrigger` et `Remove-PSUTrigger`.


---

# 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/automatisation/triggers.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.
