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

# Udløsere

Udløs scripts i PowerShell Universal automatisk ved hændelser som jobfuldførelse, serverstart, brugerlogon, git-synkronisering eller ændringer af computerstatus.

> Udløsere kræver en [licens](/powershell-universal/da/licensing.md).

Udløsere starter automatisk PowerShell Universal-scripts, når platformhændelser indtræffer. Brug dem til global fejlhåndtering, meddelelser, integrationer og hændelsesdrevet automatisering.

> Udløste jobs starter ikke yderligere udløsere. Udløsere gemmes i `triggers.ps1`.

## Udløserhændelser

De kan oprette udløsere for følgende hændelser:

* Job Started, Cancelled, Completed, Completed with Error, Requesting Feedback, Failed og Timed Out
* App (Dashboard) Started, Stopped og Session Expired
* Event Hub Connected og Disconnected
* Health Check Failed
* Server Started og Stopping
* New User Login og User Login
* Use of a Revoked App Token
* API Authentication Failed og API Error
* Git Sync
* License Expired og License Expiring
* Computer Offline
* Notification Created

### Notification Created

Hændelsen **Notification Created** kører, når PowerShell Universal opretter en meddelelse via meddelelsestjenesten eller Notification API. Brug den til at dirigere platformadvarsler til systemer som Teams, e-mail, sagsstyring eller overvågningsværktøjer.

Udløserscriptet modtager den oprettede meddelelse i parameteren `$Notification`. Den indeholder meddelelsens id, titel, beskrivelse, niveau, oprettelsestidspunkt, kildejob, script, dashboard, licens, identitet og staksporing, når den er tilgængelig.

```powershell
param($Notification)

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

Opret udløseren i **Automation > Triggers** ved at vælge **Notification Created** som hændelsestype, eller definer den i et konfigurationslager:

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

Meddelelser, der genereres, når et udløst job starter, udløser ikke denne hændelse. Dette forhindrer meddelelsesudløsere i rekursivt at oprette flere jobs, der er udløst af meddelelser.

### New User Login

Hændelsen New User Login indtræffer, når en bruger første gang tilgår PowerShell Universal. Scriptet modtager en `$User`-parameter med brugeroplysninger.

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

### User Login

User Login-hændelsen indtræffer, når en bruger får adgang til PowerShell Universal. Scriptet modtager parameteren `$data` med brugeroplysninger.

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

### Use of a Revoked App Token

Hændelsen for tilbagekaldt app-token indtræffer, når et tilbagekaldt app-token bruges. Scriptet modtager en `$data`-parameter, der indeholder app-tokenets indhold som en streng.

### Git Sync

Hændelsen Git Sync indtræffer ved både vellykkede og mislykkede Git-synkroniseringer. Scriptet modtager en `$data`-parameter med Git-statussen.

```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; }
}
```

### Computer Offline

Hændelsen Computer Offline leverer computerobjektet i parameteren `$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
}
```

## Globale udløsere

Globale udløsere kører det tildelte script, når den valgte hændelse indtræffer. Denne udløser kører f.eks. `Script.ps1`, når et vilkårligt job starter:

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

## Ressourceudløsere

Ressourceudløsere kører kun, når der indtræffer en hændelse på den valgte ressource. Dette udløser kører for eksempel, når det valgte dashboard stopper:

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

## Hændelsesmetadata

Et job, der er oprettet af en udløser, modtager metadata om den hændelse, der kaldte det. Jobudløsere modtager parameteren `$Job`, og dashboardudløsere modtager parameteren `$Dashboard`. Udløsere for serverstatus modtager ikke en parameter. Meddelelsesudløsere modtager `$Notification`.

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

## Betingelser

Brug parameteren `-Condition` på `New-PSUTrigger` til at afgøre, om udløseren skal køre. Betingelsen kører lokalt på serveren og skal returnere `$true` eller `$false`.

For eksempel kører denne betingelse kun, når miljøvariablen `Environment` er angivet til `production`:

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

## PowerShell-cmdlets

Administrer udløsere med `New-PSUTrigger`, `Get-PSUTrigger`, `Set-PSUTrigger` og `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 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/powershell-universal/da/automatisering/triggers.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.
