> 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/scripts/parameters.md).

# Parametre

Generer automatisk inputformularer til PowerShell Universal-jobs ud fra param-blokke i scripts, med understøttelse af typer som DateTime, PSCredential, File og ValidateSet.

## Parametre

Jobs understøtter automatisk generering af formularer med parametre baseret på `param`-blokken i Deres script. Typen af kontrolelement ændres ud fra den type, De definerer i blokken. Parametre, der er obligatoriske, er også påkrævede i brugergrænsefladen.

### Grundlæggende parametre

Parametre kan defineres enkelt uden nogen form for parameterattribut, og de vises som tekstfelter i brugergrænsefladen.

```powershell
param($Test)

$Test
```

### Parametertyper

Universal understøtter forskellige typer parametre. De kan bruge typerne String, String\[], Int, DateTime, Boolean, Switch og Enum.

#### String

De kan definere strengparametre ved at angive typen `[String]` eller ved slet ikke at angive en type. Strenge genererer et tekstfelt.

```powershell
param(
    [String]$Textbox,
    $Textbox2
)
```

#### Strengarrays

De kan angive strengarrays ved hjælp af typespecifikationen `[String[]]`. Strengarrays genererer en valgboks med flere mærker.

```powershell
param([String[]]$Array)
```

#### Dato og klokkeslæt

De kan bruge typebetegneren `[DateTime]` til at oprette en dato- og klokkeslætsvælger.

```powershell
param([DateTime]$DateTime)
```

#### Boolean

De kan bruge en `[Bool]`-typevælger til at oprette en switch.

```powershell
param([Bool]$Switch)
```

#### Integer

De kan definere en talvælger ved at bruge typeangivelsen `[Int]`.

```powershell
param([Int]$Number)
```

#### Switch-parameter

De kan definere en switch-parameter ved hjælp af typespecifikationen `[Switch]` for at oprette en switch.

```powershell
param([Switch]$Switch)
```

#### Enumerationer

De kan bruge System.Enum-værdier til at oprette valgbokse. De kan f.eks. bruge `System.DayOrWeek` til at oprette en valgboks for ugedag.

```powershell
param([System.DayOfWeek]$DayOfWeek)
```

#### PSCredential

Når De angiver en `PSCredential` , får brugeren vist en rulleliste over legitimationsoplysninger, der er tilgængelige som [variabler](/powershell-universal/da/platform/variables.md#creating-a-secret-variable).

```powershell
param(
    [PSCredential]$Credential
)
```

#### Fil

De kan give brugere mulighed for at uploade filer ved at bruge typen `[File]`.

```powershell
param(
    [File]$File
)
```

Filer vil være tilgængelige som et `PSUFile`-objekt i Deres scripts. Dette objekt har et `byte[]`-array, som De kan bruge til at behandle filen.

For eksempel kan De hente strengindholdet for filen ved at konvertere den ved hjælp af Encoding-klasserne.

```powershell
[Text.Encoding]::UTF8.GetString($File.Content)
```

### Visningsnavn

De kan bruge `DisplayNameAtrribute` til at angive et visningsnavn for scriptparameteren.

```powershell
param(
    [ComponentModel.DisplayName("My Script")]
    $MyScript
)
```

### Hjælpemeddelelser

De kan definere hjælpemeddelelser til Deres parametre ved hjælp af egenskaben `HelpMessage` på attributten `Parameter`.

```powershell
param(
    [Parameter(HelpMessage = "Class you want to enroll in")]
    [string]$Class
)
```

### Påkrævede parametre

De kan bruge attributten Parameter til at definere påkrævede parametre.

```powershell
param(
    [Parameter(Mandatory)]
    $RequiredParameter
)

$RequiredParameter
```

### Standardværdi

De kan bruge både statiske værdier og standardværdier for parametre. Standardværdien beregnes, når jobbet skal til at køre.

```powershell
param(
    $Parameter = "Hello, World",
    [DateTime]$ExecutionTime = Get-Date
)

$Parameter
$ExecutionTime
```

## ValidateSet

Attributten `ValidateSet` bruges til at håndhæve, hvilke værdier der kan sendes til en parameter. Læs om [ValidateSet her.](https://duckduckgo.com/?q=validateset\&ia=web) PowerShell Universal opretter automatisk en rullemenu med de værdier, der er angivet til attributten `ValidateSet` for parametre.

Et script kunne for eksempel definere en param-blok som følger.

```powershell
param(
    [ValidateSet("Steve", "Mary")]
    [string]$Name
)
```

## Overførsel af parametre fra PowerShell

De kan sende parametre fra PowerShell ved hjælp af cmdletten `Invoke-PSUScript`. Denne cmdlet understøtter dynamiske parametre. Hvis De har en `param`-blok i Deres script, tilføjes disse parametre automatisk til `Invoke-PSUScript`.

For eksempel havde jeg et script med navnet Script1.ps1, og indholdet var som følger.

```powershell
param($MyParameter)

$MyParameter
```

Jeg kunne derefter kalde det script ved hjælp af denne syntaks.

```powershell
Invoke-PSUScript -Name 'Script.ps1' -MyParameter "Hello"
```

Resultatet ville være, at Hello blev udskrevet i jobloggen og pipelinen.

## Parametersæt

PowerShell Universal understøtter parametersæt. Når et parametersæt er defineret, vises en rulleliste, der gør det muligt at skifte mellem sættene.

```powershell
param(
    [Parameter(ParameterSetName = 'Set1')]
    $Parameter1,
    [Parameter(ParameterSetName = 'Set2')]
    $Parameter2
)
```


---

# 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/scripts/parameters.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.
