> 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/config/running-as-a-service-account.md).

# Kørsel som en tjenestekonto

Konfigurer PowerShell Universal til at køre under en Windows-tjenestekonto, skeln mellem værts- og Run As-tilladelser, og fejlfind fejl ved Windows-logon og processtart.

### Programtjenestekonto

PowerShell Universal kan køre under en dedikeret Windows-tjenestekonto i stedet for LocalSystem. Lokale programopgaver, job og apps bruger som standard værtsidentiteten. En [hemmelig PSCredential-variabel](/powershell-universal/da/platform/variables.md), der er konfigureret som **Run As**, starter en separat proces under den valgte konto.

Skeln mellem disse to identiteter, når De tildeler tilladelser:

* **Værtskonto**: Den konto, der kører Windows-tjenesten PowerShell Universal, eller identiteten for IIS-programpuljen. Den godkender Run As-kontoen og opretter underprocessen.
* **Run As account**: Den konto, der er gemt i den valgte hemmelighed med legitimationsoplysninger. Dens logonrettigheder og adgang til filer og netværksressourcer afgør, hvad underprocessen kan gøre.

For den aktuelle ikke-interaktive Windows Run As-startsti skal De kontrollere følgende rettigheder på **hostingkontoen**:

| Rettighed                                                           | Gælder for                                                                                               |
| ------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------- |
| Log på som en tjeneste (`SeServiceLogonRight`)                      | Kørsel af PowerShell Universal som en Windows-tjeneste.                                                  |
| Juster hukommelseskvoter for en proces (`SeIncreaseQuotaPrivilege`) | Oprettelse af en underordnet proces via `CreateProcessAsUser`.                                           |
| Erstat et token på procesniveau (`SeAssignPrimaryTokenPrivilege`)   | Tildeling af Run As-kontoens token til den underordnede proces, når det kræves af `CreateProcessAsUser`. |

{% hint style="warning" %}
Medlemskab af den lokale gruppe **Administrators** fjerner ikke disse krav. Administratorer har normalt **Adjust memory quotas for a process**, men har ikke **Replace a process level token** som standard. Kontrollér de effektive rettigheder for den konto, der faktisk kører PowerShell Universal.
{% endhint %}

Ved IIS-hosting skal De kontrollere privilegierne til at starte processer for **programpuljeidentiteten**, ikke kun for en Windows-tjenestekonto. Konfigurer værtsidentitetens logonrettigheder i henhold til IIS-hostingkonfigurationen.

Yderligere privilegier til at starte processer er nødvendige for den ikke-interaktive fremgangsmåde med alternativ konto, ikke blot fordi PowerShell Universal kører som en dedikeret konto. Hvis et job eller en app skal køre under værtsidentiteten, skal De lade **Run As** være uangivet; et andet logon er ikke nødvendigt. Miljøet Integrated understøtter ikke alternative Run As-legitimationsoplysninger. Se [Environments](/powershell-universal/da/config/environments.md).

Sundhedstjek kræver følgende gruppemedlemskab for at indsamle oplysninger om PowerShell Universal-systemet:

* Performance Monitor Users
* Performance Log Users

### Run As-krav til scripts

Disse krav gælder også for Windows-app- og API-processer, der startes af PowerShell Universal-serveren med alternative legitimationsoplysninger.

For en standardlegitimationsoplysning med brugernavn og adgangskode forsøger PowerShell Universal normalt først et **interaktivt logon** ved hjælp af .NET-procesoprettelse (`CreateProcessWithLogonW`). Denne fremgangsmåde kræver **Tillad log på lokalt** (`SeInteractiveLogonRight`) på Run As-kontoen og kræver ikke, at den hostende konto har de yderligere `CreateProcessAsUser`-privilegier.

Hvis det første forsøg mislykkes, falder PowerShell Universal tilbage til **batchlogon** (`LogonUser` med logontype 4), efterfulgt af `CreateProcessAsUser`. Denne sti kræver:

* **Log på som et batchjob** (`SeBatchLogonRight`) på **Run As-kontoen**.
* De processtartprivilegier, der er beskrevet ovenfor, på **hostingkontoen**.

PowerShell Universal cachelagrer den valgte startsti i fem minutter, og gentagne starter gentager derfor muligvis ikke begge forsøg. En vellykket validering af legitimationsoplysningen beviser ikke, at værtskontoen kan oprette en proces under disse legitimationsoplysninger.

{% hint style="info" %}
Et interaktivt logon her er en type Windows-godkendelse. Det betyder ikke, at PowerShell Universal åbner et interaktivt skrivebord eller kræver en RDP-session.
{% endhint %}

{% hint style="warning" %}
**Afvis logon lokalt** tilsidesætter **Tillad logon lokalt**, herunder rettigheder, der er arvet gennem gruppemedlemskab. Den blokerer det interaktive forsøg, men blokerer ikke i sig selv batchlogon. **Afvis logon som et batchjob** og **Afvis logon som en tjeneste** tilsidesætter hver for sig de tilsvarende logonrettigheder. Fjern ikke en organisatorisk afvisningspolitik blot for at få den interaktive vej til at lykkes; konfigurer i stedet en godkendt ikke-interaktiv start.
{% endhint %}

#### Group Managed Service Accounts

For en gMSA Run As-legitimationsoplysning skal De angive kontoen som `DOMAIN\account$` og vælge **Password Not Required**, når De opretter hemmelighedsvariablen. Se [Group Managed Service Accounts](/powershell-universal/da/platform/variables.md#group-managed-service-accounts) for opsætning.

PowerShell Universal springer det normale interaktive forsøg over for denne legitimationsoplysning og bruger et **tjenestelogon** (`LogonUser` med logontype 5). Mål-gMSA'en skal derfor have **Log on as a service**, uden en gældende politik for **Deny log on as a service**. Værtskontoen skal stadig have de privilegier, der kræves for at oprette den underordnede proces.

Mål-gMSA'en skal være konfigureret til brug på PowerShell Universal-værten, herunder de relevante tilladelser til hentning af administreret adgangskode. Kontrollér `Test-ADServiceAccount` på den vært. Et vellykket resultat kontrollerer gMSA-konfigurationen; det afprøver ikke PowerShell Universals fulde logon- og processtartsekvens.

At køre selve PowerShell Universal som en gMSA er noget andet end at starte en underproces som en gMSA. Antag ikke, at en fungerende gMSA-tjeneste eller programpulje kan starte en anden gMSA, blot fordi tjenesten starter, eller fordi `Test-ADServiceAccount` lykkes. Validér Run As-handlingen under den faktiske værtsidentitet. Hvis underprocessen skal bruge den samme identitet som værten, skal De lade **Run As** være uangivet.

#### Brugerprofiler og filadgang

Run As-kontoen skal have adgang til den eksekverbare fil, konfigurationslageret, arbejdskataloget og eventuelle andre ressourcer, der bruges af jobbet eller appen. Konfigurer fil- og netværksadgang adskilt fra logonrettigheder.

Den ikke-interaktive starter kan også indlæse Windows-profilen for Run As-kontoen. Windows kræver, at den, der kalder `LoadUserProfile`, er administrator eller LocalSystem og har **Sikkerhedskopiere filer og mapper** (`SeBackupPrivilege`) og **Gendanne filer og mapper** (`SeRestorePrivilege`). Den nuværende starter springer eksplicit indlæsning af profilen over, når værten hverken er administrator eller LocalSystem. Tag højde for dette, når scriptet eller appen afhænger af `HKEY_CURRENT_USER` eller andre profildata. En fejl ved indlæsning af profilen adskiller sig fra en `CreateProcessAsUser`-privilegiefejl.

### Tildeling af brugerrettigheder

1. Åbn **Lokal sikkerhedspolitik** (`secpol.msc`) på PowerShell Universal-værten.
2. Gå til **Lokale politikker > Tildeling af brugerrettigheder**.
3. Tildel kun de påkrævede rettigheder til den relevante værts- eller Run As-konto eller til en snævert afgrænset gruppe. Kontrollér det effektive gruppemedlemskab og matchende afvisningspolitikker.
4. Hvis domænets gruppepolitik styrer indstillingen, skal De anmode om ændringen i det styrende GPO. Lokale ændringer kan blive overskrevet eller være utilgængelige.
5. Genstart PowerShell Universal-tjenesten, eller genbrug IIS-programpuljen, efter at De har ændret hostingkontoens rettigheder, så den modtager et nyt logontoken.

{% hint style="warning" %}
Disse rettigheder tillader følsomme Windows-handlinger. Få ændringerne gennemgået i henhold til Deres organisations sikkerhedspolitik. LocalSystem kan opfylde startkravene, men et skift til LocalSystem udvider værtskontoens privilegier og er ikke en afhjælpning efter princippet om mindste privilegium.
{% endhint %}

### Konfiguration af en PowerShell Universal-tjeneste til at køre som kontoen

Når De har konfigureret kontoen og de påkrævede rettigheder, skal De åbne **Services** (`services.msc`). Find **PowerShell Universal**, åbn **Properties**, og brug fanen **Log On** til at konfigurere hostingkontoen. Genstart tjenesten, og kontrollér et job eller en app med den tilsigtede kørselsidentitet.

### Fejlfinding af Run As-opstart

Læs PowerShell Universal-loggen og, når logonrevision er aktiveret, Windows-loggen **Security**. Identificer, hvilket trin der mislykkedes, før De ændrer kontotilladelser.

| Fejl                                                                                                            | Hvad der skal kontrolleres                                                                                                                                                                                                                                                                |
| --------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Sikkerhedshændelse 4625, logontype 2, status `0xC000015B`; eller Windows-fejl 1385 under interaktiv logon       | Run As-kontoen kan ikke udføre det anmodede interaktive logon. Kontrollér **Tillad log på lokalt** og **Nægt log på lokalt**. Hvis interaktivt logon bevidst nægtes, skal De undersøge det efterfølgende batch-startresultat i stedet for at lempe den politik.                           |
| Windows-fejl 1385 under batchlogon (type 4) eller tjenestelogon (type 5)                                        | Kontrollér Run As-kontoens rettighed for den specifikke logontype og den tilsvarende afvisningspolitik.                                                                                                                                                                                   |
| `A required privilege is not held by the client` (Windows-fejl 1314) under `CreateProcessAsUser`                | Kontrollér **Replace a process level token** og **Adjust memory quotas for a process** på den faktiske værtskonto, også selv om den er en lokal administrator.                                                                                                                            |
| Windows-fejl 1314 under `LoadUserProfile`                                                                       | Kontrollér hostingkontoens privilegier til profilindlæsning og Windows-kravene til profilindlæsning frem for kun proces-token-privilegiet.                                                                                                                                                |
| Windows-fejl 1326 under logon                                                                                   | Kontrollér kontonavnet, domænet og legitimationsoplysningen. For en gMSA, kontrollér også **Password Not Required**, værtskonfigurationen, tilladelser til hentning af administreret adgangskode og hostingidentiteten. Fejl 1326 alene fastslår ikke, at en gemt adgangskode er forkert. |
| Processen starter, men jobbet eller appen rapporterer adgang nægtet til en AppData-, midlertidig eller lagersti | Undersøg stien og kørselsidentiteten. Startrettigheder retter ikke et problem med en arbejdsmappe- eller brugerprofilsti. Giv ikke bred adgang til værtskontoens private profil som erstatning for at bruge den tiltænkte kontos stier.                                                   |

Indsaml PowerShell Universal-versionen, hostingtilstanden og identiteten, om legitimationsoplysningen er en gMSA, startfasen, den oprindelige fejlkode og relevant logontype/-status for hændelse 4625, når De anmoder om support. Medtag ikke adgangskoder eller hemmelige værdier.

### Windows-referencer

* [CreateProcessWithLogonW](https://learn.microsoft.com/en-us/windows/win32/api/winbase/nf-winbase-createprocesswithlogonw): krav til interaktivt logon og begrænsningen for LocalSystem.
* [CreateProcessAsUser](https://learn.microsoft.com/en-us/windows/win32/api/processthreadsapi/nf-processthreadsapi-createprocessasuserw): privilegier for procestoken og hukommelseskvote.
* [LogonUser](https://learn.microsoft.com/en-us/windows/win32/api/winbase/nf-winbase-logonuserw) og [kontorettigheder](https://learn.microsoft.com/en-us/windows/win32/secauthz/account-rights-constants): batch-/tjenestelogon og forrang for nægtelsespolitik.
* [LoadUserProfile](https://learn.microsoft.com/en-us/windows/win32/api/userenv/nf-userenv-loaduserprofilew): krav til profilindlæsning.
* [Erstat et token på procesniveau](https://learn.microsoft.com/en-us/previous-versions/windows/it-pro/windows-10/security/threat-protection/security-policy-settings/replace-a-process-level-token): standardtildelinger og sikkerhedsovervejelser.


---

# 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/config/running-as-a-service-account.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.
