> 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/portal/portal-widgets.md).

# Portal-widgets

Opdag indbyggede Portal Widgets i PowerShell Universal, herunder scriptformularer, tabeller og diagrammer, samt hvordan De bygger brugerdefinerede widgets med PSBlazor.

Widgets er brugergrænsefladeblokke, der er bygget med PowerShell og Blazor. De kan oprette robuste webbaserede brugergrænseflader med minimal erfaring med webudvikling.

## Indbyggede widgets

PowerShell Universal tilbyder indbyggede widgets til at integrere med andre funktioner på platformen for at vise brugergrænsefladeelementer.

### Scriptformular

Angiv en formular, så slutbrugere kan køre scripts. Portaladgang evalueres i tre separate faser:

1. **Visning af scriptet:** Brugeren skal enten have en matchende rolle under **Script Properties > Portal** eller en rolle, der er tildelt et tilknyttet **Display in Portal**-mærke.
2. **Åbning af scriptformularen:** Brugeren skal have en matchende rolle under **Script Properties > Portal**. Adgang, der kun er givet via et mærke, er ikke tilstrækkelig.
3. **Kørsel af scriptet:** Brugeren skal have den relevante **Automation Scripts > Execute**-tilladelse.

**Vigtigt:** Portalroller, tagroller og Execute-tilladelser erstatter ikke hinanden. Et script kan være opført, men returnere **Unauthorized**, når det åbnes, eller det kan åbne, men mislykkes med at køre, hvis brugeren ikke opfylder alle gældende krav.

Mærker bestemmer også, hvor et script er opført:

| Konfiguration                                                                                         | Portalresultat                                                      |
| ----------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------- |
| Matchende Portal-rolle for scriptet og ingen mærker                                                   | Opført i Portal-roden                                               |
| Autoriseret **Display in Portal**-mærke                                                               | Opført under tagget                                                 |
| Autoriseret mærke, men ingen matchende Portal-rolle for scriptet                                      | Opført under tagget, men returnerer **Unauthorized**, når det åbnes |
| Matchende Portal-rolle for scriptet, men ingen Execute-tilladelse                                     | Kan vises og åbnes, men kan ikke køres                              |
| Kun mærker uden **Display in Portal**                                                                 | Ikke opført, selv med en matchende script-Portal-rolle              |
| Matchende Portal-rolle for scriptet, Execute-tilladelse og et autoriseret **Display in Portal**-mærke | Opført under tagget og kan åbnes og køres                           |

Et tag er autoriseret, når **Display in Portal** er aktiveret, og tagget indeholder en rolle, der er tildelt brugeren. Hvis et script har tags, er det ikke opført i Portal-roden. Mindst ét autoriseret **Display in Portal**-tag er påkrævet, for at det kan findes.

### Scripttabel

Scripttabelwidgeten viser en tabel baseret på det seneste output fra et script. Den vælger det nyeste job og genererer tabellen ud fra egenskaberne for de returnerede objekter. Prøv for eksempel at køre et script, der returnerer processer på den aktuelle maskine.

```powershell
Get-Process | Select-Object Name, Id
```

### Script-cirkeldiagram

Widgetten med scriptcirkeldiagram viser et diagram baseret på data fra den seneste kørsel af et script. Scriptet skal afgive data i et bestemt format for at definere diagrammets udsnit. Nedenfor er et eksempel på, hvordan der genereres data til et cirkeldiagram.

```powershell
1..5 | ForEach-Object {
    [PSCustomObject]@{ 
        type = "Category $_"
        value = Get-Random -Min 5 -Max 60
    }
}
```

I egenskaberne for cirkeldiagramwidgeten skal De angive Category Property til `type` og Value Property til `value`.

### Scriptlinjediagram

Widgetten med scriptlinjediagram viser et diagram baseret på data fra den seneste kørsel af et script. Scriptet skal afgive data i et bestemt format for at definere diagrammets linjer. Nedenfor er et eksempel på, hvordan der genereres data til et linjediagram.

```powershell
1..5 | ForEach-Object {
    [PSCustomObject]@{ 
        type = "Category $_"
        value = Get-Random -Min 5 -Max 60
    }
}
```

I egenskaberne for linjediagramwidgeten skal De angive XProperty til `type` og YProperty til `value`.

## Forudbyggede widgets

De kan finde widgets, der er oprettet af Ironman Software og community-medlemmer, på[ PowerShell Universal-galleriet](/powershell-universal/da/platform/library.md).

## Brugerdefinerede widgets

De kan udvikle Deres egne brugerdefinerede widgets ved hjælp af PSBlazor. PSBlazor bruger Razor-lignende syntaks kombineret med PowerShell for at gøre det muligt at oprette fuldt interaktive og brugerdefinerbare komponenter.


---

# 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/portal/portal-widgets.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.
