> 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/platform/computers.md).

# Computere

Administrer PowerShell Universal-servere og Devolutions Agents, herunder statiske mærker, computergrupper, delt konfiguration og vedligeholdelsestilstand.

> \[!NOTE] Denne funktion kræver en licens. Hver computer kræver en licens.

Fanen **Manage > Computers & Groups > Computers** viser PowerShell Universal-servere og tilsluttede Devolutions Agents. I en installation med flere noder gemmes jobs, computergrupper, identiteter og app-tokens i den delte database og er synlige fra alle tilsluttede servere.

## Forbind PowerShell Universal-servere

Hvis De vil føje en server til en eksisterende farm, skal De konfigurere den med den samme forbindelsesstreng til SQL-databasen og det samme Git-lager. Ved opstart henter serveren lagerkonfigurationen og bliver tilgængelig som en computer.

For Docker-udrulninger skal De konfigurere et stabilt `NodeName` i appindstillinger. Objektbeholdere får ellers et nyt computernavn, når de starter, hvilket kan oprette unødvendige computerregistreringer.

## Devolutions Agents

Forbundne Devolutions Agents vises som **Agent**-computere. Registrer og godkend agenten som beskrevet i **Configuration > Agent**; PowerShell Universal opretter eller opdaterer computerposten, når agenten opretter forbindelse, og markerer den som offline, når forbindelsen afsluttes.

Agentcomputere rapporterer deres version, onlinestatus og computernavnet for forbindelsen. Brug computergrupper til at målrette understøttede jobs og tidsplaner mod valgte agenter eller mod en samling af agenter med matchende egenskaber.

## Mærker

Mærker grupperer computere efter egenskaber og bestemmer medlemskab af computergrupper. En computergruppe kræver, at hver konfigureret mærkeværdi findes på computeren.

### Servermærker

PowerShell Universal registrerer mærker såsom domæne, brugernavn og operativsystem. De kan tilføje statiske mærker via **Manage > Computers & Groups > Computers** eller konfigurere dem ved opstart. Opstartsmærker er nyttige til Docker og andre automatiserede udrulninger, fordi de ikke kræver manuelle ændringer, efter at en server er startet.

Tilføj mærker i `appsettings.json`:

```json
{
  "Computer": {
    "Tags": [
      {
        "Name": "Region",
        "Value": "East"
      }
    ]
  }
}
```

Angiv de tilsvarende miljøvariabler, før De starter PowerShell Universal:

```
Computer__Tags__0__Name=Region
Computer__Tags__0__Value=East
```

Konfigurerede mærker er statiske og vises på den lokale server i **Manage > Computers & Groups > Computers**.

### Agentmærker

Når en Devolutions Agent registreres, tilføjer PowerShell Universal statiske mærker fra dens registreringsoplysninger:

| Mærkenavn        | Value                                    |
| ---------------- | ---------------------------------------- |
| Type             | `Agent`                                  |
| Maskinnavn       | Agentens værtsnavn                       |
| Operating System | Det rapporterede operativsystem          |
| Arkitektur       | Den rapporterede processorarkitektur     |
| Hub              | Hver rapporteret Devolutions Gateway-hub |
| Funktion         | Hver rapporteret agentfunktion           |

Disse mærker giver Dem mulighed for at oprette grupper baseret på agentens platform, hubben eller den tilgængelige funktion. Mærkerne administreres af agentregistreringen og opdateres, når agenten genopretter forbindelsen.

## Computergrupper

Computergrupper indeholder computere, der deler påkrævede mærkeværdier. Opret grupper under **Manage > Computers & Groups > Groups** eller med `New-PSUComputerGroup`.

Denne gruppe omfatter f.eks. computere med mærket `windows`:

```powershell
New-PSUComputerGroup -Name 'Windows' -Tags @('windows')
```

Brug agentmærker til at målrette mod alle tilsluttede Devolutions Agents:

```powershell
New-PSUComputerGroup -Name 'Devolutions Agents' -Tags @('Agent')
```

Når De har oprettet en gruppe, skal De begrænse apps, API'er, scripts, tidsplaner og jobs til den. Denne app kører kun på computere i gruppen `Windows`:

```powershell
New-PSUApp -Name 'Windows' -FilePath 'app.ps1' -BaseUrl '/app' -ComputerGroup 'Windows'
```

## Vedligeholdelsestilstand

Aktivér vedligeholdelsestilstand for en computer for at forhindre, at den kører planlagte jobs. Brug dette, før De udfører service på en server eller tager en agentvært offline.

### Angiv vedligeholdelsestilstand via REST-API'en

De kan gå i og forlade vedligeholdelsestilstand direkte via administrations-API'en. Et brugerdefineret PowerShell-slutpunkt kræves ikke.

1. Godkend med et app-token, der har tilladelsen **Computers > Read** til at vise computere og tilladelsen **Computers > Update** til at ændre vedligeholdelsestilstand.
2. Kald `GET /api/v1/computer`, og identificer `id` for hver computer, De vil opdatere.
3. Send `PUT /api/v1/computer?id=<id>&maintenance=true` for at gå i vedligeholdelsestilstand. Send den samme anmodning med `maintenance=false` for at forlade den.

Begge værdier er parametre i query-strengen. Der kræves ingen JSON-anmodningsbrødtekst. Anmodningen opdaterer kun den valgte computers vedligeholdelsesflag; den opretter ikke en computer og ændrer ikke computerens navn, mærker, forbindelsesindstillinger eller andre egenskaber.

Følgende eksempler bruger et app-token, der er gemt i miljøvariablen `PSU_APP_TOKEN`. Erstat `https://psu.example.com` med Deres server-URL og `1` med et computer-id, der returneres af listeanmodningen.

Vis computere:

```bash
curl --fail-with-body \
  --header "Authorization: Bearer $PSU_APP_TOKEN" \
  "https://psu.example.com/api/v1/computer"
```

Aktivér vedligeholdelsestilstand:

```bash
curl --fail-with-body --request PUT \
  --header "Authorization: Bearer $PSU_APP_TOKEN" \
  "https://psu.example.com/api/v1/computer?id=1&maintenance=true"
```

Deaktivér vedligeholdelsestilstand:

```bash
curl --fail-with-body --request PUT \
  --header "Authorization: Bearer $PSU_APP_TOKEN" \
  "https://psu.example.com/api/v1/computer?id=1&maintenance=false"
```

En vellykket opdatering har ingen svarbrødtekst. Kontrollér den gemte tilstand med `GET /api/v1/computer/1`, og inspicér `maintenance`. En manglende computer returnerer `404 Not Found`. Anmodninger uden godkendelse returnerer `401 Unauthorized`; godkendte kaldere uden opdateringstilladelse modtager `403 Forbidden`.

For en installation med flere noder skal De gentage opdateringen for hvert servercomputer-id. Disse anmodninger læser og skriver den delte database: aktivér vedligeholdelse **før** databasen tages offline, og genopret databaseforbindelsen **før** vedligeholdelse deaktiveres. Vedligeholdelsestilstand er ikke et alternativ til databasens tilgængelighed.

### Angiv vedligeholdelsestilstand med PowerShell

Universal-modulet understøtter også vedligeholdelsestilstand:

```powershell
Get-PSUComputer -Id 1 | Set-PSUComputer -Maintenance $true
Get-PSUComputer -Id 1 | Set-PSUComputer -Maintenance $false
```

Forbind modulet til Deres server, før De kører disse kommandoer. PowerShell-cmdlet'en er et alternativ til REST API'en, ikke et krav for at bruge vedligeholdelsestilstand.


---

# 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/platform/computers.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.
