> 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/login-page.md).

# Branding

Tilpas branding i PowerShell Universal med eksempler på logonsider, logoer, farver, typografiark, portalstitler og fejlmeddelelser.

{% hint style="info" %}
Tilpasning af branding kræver en [licens](https://store.devolutions.net/package#psu).
{% endhint %}

Branding styrer udseendet og teksten på PowerShell Universals indbyggede logonside, administratorkonsol, portal og udvalgte fejlsider. Brug **Settings > Branding** eller filen `.universal\branding.ps1` i Deres konfigurationslager. Opdater browseren, når De har gemt; nogle billeder, typografier og titler indlæses, når siden åbnes.

Branding er ikke et appdækkende Material UI-tema. For at anvende typografi på komponenterne i en app skal De bruge [app-temaer](/powershell-universal/da/apps/themes.md).

## Vælg, hvordan branding konfigureres

I **Settings > Branding** skal De bruge fanerne **Text**, **Colors**, **Images** og **Login Page** og derefter vælge **Save**. Tabellerne nedenfor bruger PowerShell-parameternavne, så De kan knytte hvert eksempel til den tilsvarende indstilling. Opdatering af branding kræver tilladelsen `settings.branding/update`.

Ved konfiguration som kode skal De beholde én brandingdefinition i `.universal\branding.ps1`. `New-PSUBranding` og `New-PSULoginPage` er aliaser for `Set-PSUBranding`. I en konfigurationsfil opretter de det brandingobjekt, som PSU indlæser. Uden for indlæsning af konfiguration bruger cmdlet'en objektet på den tilsluttede server og returnerer det.

{% hint style="warning" %}
Et kald til en branding-cmdlet erstatter brandingdefinitionen; det sammenfletter ikke kun de angivne parametre. Udeladte strenge vender tilbage til deres standardværdier, og udeladte tema- og layoutværdier bliver `System` og `Vertical`. Hold Deres ønskede indstillinger samlet i én definition. Eksemplerne nedenfor udvider den samme `$branding`-hashtable, så senere ændringer ikke sletter tidligere værdier.
{% endhint %}

Hvis eksemplerne køres interaktivt, skal De først oprette forbindelse til den tilsigtede server med `Connect-PSUServer`. Kør ikke efterfølgende eksempler mod en eksisterende udrulning uden at medtage de indstillinger, De vil bevare.

## Vær vært for billeder og CSS-filer

Indstillinger for billede og typografiark tager URL'er, der kan tilgås i browseren, ikke filsystemstier på serveren. `C:\PSU\Branding\logo.png` er f.eks. en lokal fil, mens `/branding/logo.png` er den URL, browseren kan anmode om.

1. Opret en dedikeret mappe, f.eks. `C:\PSU\Branding`, på PSU-serveren. Giv PSU-tjenestekontoen læseadgang.
2. Placer Deres offentlige brandingfiler i den mappe: `logo.png`, `logo-on-dark.png`, `favicon.ico` og om nødvendigt `login.css`.
3. Publicer mappen på `/branding`. Lad godkendelse og rollebegrænsninger være deaktiveret, så logonsiden kan indlæse disse aktiver, før en bruger logger på.

Placer f.eks. denne definition i `.universal\publishedFolders.ps1`:

```powershell
New-PSUPublishedFolder -Name 'BrandingAssets' -Path 'C:\PSU\Branding' -RequestPath '/branding'
```

Læg kun offentlige billeder og typografiark i denne mappe. Alt, den udleverer, er tilgængeligt uden at logge på; udgiv ikke Deres konfigurationslager, scripts, legitimationsoplysninger eller andre private filer. Filsystemstien kan ligge uden for konfigurationslageret. På andre operativsystemer skal De bruge en passende lokal sti.

Åbn `/branding/logo.png` og `/branding/login.css` på Deres PSU-websted i et privat browservindue for at bekræfte anonym adgang. Se [Published Folders](/powershell-universal/da/platform/published-folders.md) for at få flere oplysninger.

Eksemplerne forudsætter, at PSU hostes i webstedets rod. Hvis det kører under et virtuelt katalog eller et proxysti-præfiks, skal De medtage det præfiks i URL'erne eller bruge fulde HTTPS-URL'er, som Deres brugeres browsere kan nå. Brug ikke en `localhost`-URL, medmindre alle browsere kører på selve serveren.

## Eksempel: en logonside og konsol med branding

Når aktiverne er publiceret, skal De indsætte dette i `.universal\branding.ps1`:

```powershell
$branding = @{
    AdminConsoleTitle    = 'Contoso Automation'
    PortalTitle          = 'Contoso Self-Service'
    LoginPageTitle       = 'Contoso Automation'
    LoginPageText        = 'Sign in with your work account'
    LoginPageDescription = 'Automation and self-service for Contoso employees.'
    LoginPageImage       = '/branding/logo.png'
    LoginPageLogoSize    = '180px'
    AppBarLogo           = '/branding/logo.png'
    DarkAppBarLogo       = '/branding/logo-on-dark.png'
    Favicon              = '/branding/favicon.ico'
    Copyright            = 'Copyright 2026 Contoso'
    LoginPageTheme       = 'Light'
    LoginPageLayout      = 'Vertical'
}

Set-PSUBranding @branding
```

Logonsiden viser det brugerdefinerede logo, beskrivelsen og logonoverskriften. `LoginPageTitle` angiver også titelsuffikset i browserfanen. I det aktuelle logonlayout gengives den synlige brugerdefinerede titel under logoet, når der er angivet et brugerdefineret `LoginPageImage`. `AdminConsoleTitle` angiver browser-titelsuffikset for Admin Console; en udviklerlicens bruger i stedet udviklingstitlen.

`AppBarLogo` leverer det indbyggede navigationslogo til konsollen og portalen. `DarkAppBarLogo` er det alternative billede, når deres mørke tema er aktivt, ikke en anmodning om at gøre det oprindelige billede mørkere. Angiv begge logo-URL'er. Vælg et lyst-på-mørkt billede til det alternative logo. Denne indstilling vælger ikke et andet logonsidebillede: `LoginPageImage` deles af begge logon-temaer.

| Parameter              | Hvad der skal angives                                                                                         |
| ---------------------- | ------------------------------------------------------------------------------------------------------------- |
| `LoginPageTitle`       | Logonsidetitel, for eksempel `Contoso Automation`. Alias: `Title`.                                            |
| `LoginPageText`        | Overskrift inde i logonkortet, for eksempel `Sign in with your work account`.                                 |
| `LoginPageDescription` | Tekst nær logoet, f.eks. en kort beskrivelse af målgruppe eller tjeneste.                                     |
| `LoginPageImage`       | URL til logonlogoet, f.eks. `/branding/logo.png`. Alias: `Image`.                                             |
| `LoginPageLogoSize`    | En CSS-bredde, f.eks. `180px`, `12rem` eller `50%`. Standardbredden for det brugerdefinerede logo er `128px`. |
| `AppBarLogo`           | URL til det almindelige konsol- og portallogo.                                                                |
| `DarkAppBarLogo`       | URL til det alternative navigationslogo, der bruges i mørkt tema.                                             |
| `Favicon`              | URL til ikonet på browserfanen, f.eks. `/branding/favicon.ico`.                                               |
| `AdminConsoleTitle`    | Browser-titelsuffiks for Admin Console.                                                                       |
| `PortalTitle`          | Titel, der bruges af portalens ressourcesøgning og scriptsider.                                               |
| `Copyright`            | Copyright-tekst på logonsiden og overalt, hvor den indbyggede sidefod gengives.                               |

## Eksempel: layout, tema og logonfarver

For at placere logoet og beskrivelsen ved siden af logonkortet skal De ændre profilen til `Horizontal`. `Vertical` stabler brandingen over kortet. Det vandrette layout kan stables på smalle skærme.

```powershell
$branding.LoginPageLayout = 'Horizontal'
$branding.LoginPageTheme = 'Light'
$branding.LoginPageBackgroundColor = '#E8F0F8'
$branding.LoginPageFontColor = '#172B4D'

Set-PSUBranding @branding
```

Disse linjer forudsætter, at `$branding` fra det foregående eksempel stadig er defineret. For en konfigurationsfil skal De tilføje tildelingerne før dens ene afsluttende `Set-PSUBranding @branding`-kald i stedet for at tilføje endnu en brandingdefinition.

| Parameter                  | Værdier og virkning                                                                                                                                                                            |
| -------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `LoginPageLayout`          | `Vertical` (standard) eller `Horizontal`.                                                                                                                                                      |
| `LoginPageTheme`           | `System` (standard), `Light` eller `Dark`. Brug `System`, ikke `Auto`. Systemtilstand tager hensyn til browserens gemte PSU-temapræference og ellers til operativsystemets farvepræference.    |
| `LoginPageBackgroundColor` | CSS-farve, der bruges til baggrunden for logonlayoutet og til baggrund og kant på den primære logonknap. Den fjerner ikke et indbygget baggrundsbillede og ændrer ikke tekstfarven på knappen. |
| `LoginPageFontColor`       | CSS-farve, der anvendes på typografien på logonsiden. Det er ikke en separat farveindstilling for knapetiket eller inputtekst.                                                                 |

Brug læsbare kombinationer af forgrund/baggrund, og kontrollér logoet, beskrivelsen, knapperne og fejlmeddelelserne i de temaer, Deres brugere bruger. `LoginPageTheme` styrer logonsiden, ikke brugernes præferencer for konsoltema.

## Eksempel: navigations- og kortfarver

Udvid den samme profil med disse værdier:

```powershell
$branding.SecondaryColor = '#16324F'
$branding.SecondaryFontColor = '#FFFFFF'
$branding.PrimaryColor = '#FFFFFF'
$branding.PrimaryFontColor = '#172B4D'

Set-PSUBranding @branding
```

Sekundærfarverne er målrettet den indbyggede admin- og portalnavigation. Det primære farvepar bruges af indbyggede kort, f.eks. kortet til nulstilling af adgangskode; det er ikke Material UI-primærpaletten for apps, og det omfarver ikke alle konsolkontrolelementer. Angiv `PrimaryColor` sammen med `PrimaryFontColor`, fordi disse korttilsidesættelser anvendes sammen.

| Parameter                        | Omfang                                                                                                     |
| -------------------------------- | ---------------------------------------------------------------------------------------------------------- |
| `SecondaryColor`                 | Baggrund for navigation/sidepanel.                                                                         |
| `SecondaryFontColor`             | Navigationens nedarvede forgrundsfarve; komponenttypografier kan give mere specifikke farver.              |
| `PrimaryColor`                   | Baggrund for indbyggede kort, der bruger den primære brandingfarve.                                        |
| `PrimaryFontColor`               | Forgrundsfarve parret med `PrimaryColor` på disse kort.                                                    |
| `HeaderColor`, `HeaderFontColor` | Kompatibilitetsindstillinger for ældre headerlayouts. Det aktuelle konsollayout bruger ikke disse værdier. |

## Eksempel: tilpas logon-stylesheetet

Brug `LoginPageCssStylesheet`, når de indbyggede logonindstillinger ikke er tilstrækkelige. Hvis De f.eks. vil erstatte det indbyggede baggrundsbillede med en ensfarvet farve og angive en uafhængig knapfarve, skal De gemme følgende som `C:\PSU\Branding\login.css`:

```css
html body .ant-layout {
    background-image: none !important;
    background-color: #E8F0F8 !important;
}

html body .ant-btn-primary {
    background-color: #0066B0 !important;
    border-color: #0066B0 !important;
    color: #FFFFFF !important;
}
```

Henvis til den publicerede URL i den samme brandingprofil:

```powershell
$branding.LoginPageCssStylesheet = '/branding/login.css'
Set-PSUBranding @branding
```

Dette typografiark indlæses på siderne login og login-error. Det bruger ikke typografier globalt på Admin Console eller Deres apps. Eksemplet bruger mere specifikke selektorer og `!important` til at tilsidesætte indbyggede logontypografier. CSS-selektorer er implementeringsdetaljer: kontrollér brugerdefinerede typografier igen efter opgradering af PSU.

Brug kun betroede typografiark, der leveres via HTTPS eller fra Deres egen PSU-instans. Hvis en ændring ikke vises, skal De undersøge anmodningen om typografiarket i browserens udviklerværktøjer og derefter opdatere uden cachen. En versioneret URL som f.eks. `/branding/login.css?v=2` kan hjælpe, når De udruller en opdateret fil.

## Eksempel: venlige fejlmeddelelser og logaf-meddelelser

Tilføj disse poster til profilen, før De bruger den:

```powershell
$branding.PageNotFoundTitle = 'Page not found'
$branding.PageNotFoundDescription = 'Check the address or return to the home page.'
$branding.NotAuthorizedTitle = 'Access required'
$branding.NotAuthorizedDescription = 'Contact the service desk to request access.'
$branding.AppNotRunningDescription = 'This service is temporarily unavailable. Please try again later.'
$branding.LoggedOut = 'You are signed out'
$branding.LoggedOutDescription = 'Close your browser if you are using a shared computer.'

Set-PSUBranding @branding
```

| Parameter                                        | Hvor den bruges                                                                                                  |
| ------------------------------------------------ | ---------------------------------------------------------------------------------------------------------------- |
| `PageNotFoundTitle`, `PageNotFoundDescription`   | Indbygget skærm for side ikke fundet.                                                                            |
| `NotAuthorizedTitle`, `NotAuthorizedDescription` | Indbygget uautoriseret skærm.                                                                                    |
| `AppNotRunningDescription`                       | App-frameworkskærm, der vises, når en app ikke kører. Dette er adskilt fra serverens opstarts-/indlæsningsskærm. |
| `LoggedOut`, `LoggedOutDescription`              | Titel og beskrivelse på den indbyggede `/loggedout`-skærm.                                                       |

Disse indstillinger ændrer præsentationen, ikke adgangsregler. Indstillingerne tildeler ikke tilladelser, aktiverer ikke godkendelsesudbydere, starter ikke en app og ændrer ikke HTTP-fejlhåndtering i en omvendt proxy. Hold meddelelser fri for hemmeligheder og interne diagnosticeringsoplysninger.

## Kompatibilitetsparametre

Cmdlet-referencen indeholder parametre, der er bevaret i brandingmodellen, og som ikke bruges af de aktuelle indbyggede sidelayouts:

| Parameter                        | Kompatibilitetsadfærd                                                                                                                                                |
| -------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `LoginPageLinks`                 | Accepterer `LoginPageLink`-objekter, men de aktuelle lodrette og vandrette logonskabeloner gengiver dem ikke.                                                        |
| `CssStylesheet`                  | Accepterer en matrix af stylesheet-URL'er, men den aktuelle admin console indlæser ikke disse som globale stylesheets. Brug `LoginPageCssStylesheet` til logonsiden. |
| `CssStylesheetIntegrity`         | Ledsagende integritetsværdier for `CssStylesheet`; dette tilføjer ikke en integritetsattribut til `LoginPageCssStylesheet`.                                          |
| `HeaderColor`, `HeaderFontColor` | Gemt af hensyn til kompatibilitet; det aktuelle navigationsbaserede konsollayout gengiver ikke det ældre sidehoved med branding.                                     |

Gengivelsen afhænger af PSU-versionen og sidelayoutet. At en parameter accepteres og gemmes, er ikke bevis for, at et synligt element bruger den. Kontrollér den relevante side i stedet for at tilføje flere indstillinger for at kompensere for en ubrugt parameter.

## Nulstil og fejlfind

For at nulstille branding skal De vælge **Reset** på **Settings > Branding** og bekræfte. Dette erstatter den gemte definition med standardværdier. Det tilsvarende interaktive cmdlet-kald er:

```powershell
Set-PSUBranding
```

Hvis konfigurationen administreres via Git eller en anden udrulningsproces, skal De også opdatere den kilde, så den ikke genanvender det gamle branding. Nulstilling af branding sletter ikke publicerede billed- eller typografiarkfiler.

| Symptom                                                          | Hvad der skal kontrolleres                                                                                                                                                             |
| ---------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Logo eller CSS indlæses ikke før logon                           | Åbn den nøjagtige URL i et privat browservindue. Kontrollér stien til den publicerede mappe, tjenestekontoens læseadgang, og at aktivet ikke er beskyttet af godkendelse eller roller. |
| Browseren anmoder om det forkerte websted eller den forkerte sti | Billedindstillinger skal være URL'er, ikke filsystemstier. Medtag et eventuelt præfiks for hostingsstien. En HTTPS-logonside må ikke afhænge af HTTP-aktiver.                          |
| Tidligere indstillinger forsvinder efter et andet eksempel       | Medtag alle ønskede indstillinger i én hashtable/brandingdefinition; cmdlet-kald erstatter definitionen.                                                                               |
| Baggrundsfarven ændres, men mønsteret forbliver                  | Farveindstillingen fjerner ikke baggrundsbilledet. Brug eksemplet med typografiark, hvis De ønsker en ensfarvet baggrund.                                                              |
| Temaværdi afvises                                                | Brug `System`, `Light` eller `Dark`, ikke `Auto`.                                                                                                                                      |
| En gyldig indstilling har ingen synlig effekt                    | Kontrollér indstillingens omfang og kompatibilitetsnoter, opdater browseren, og bekræft, at den tilsigtede konfiguration blev indlæst.                                                 |
| Favicon eller stylesheet ser stadig uændret ud                   | Kontrollér netværkssvaret og browsercachen; brug en URL til et versionsstyret aktiv, hvis det er nødvendigt.                                                                           |

## API

* [Set-PSUBranding](/powershell-universal/da/powershell-kommandoer/set-psubranding.md)
* [New-PSUBranding](/powershell-universal/da/powershell-kommandoer/new-psubranding.md) (alias)
* [New-PSUPublishedFolder](/powershell-universal/da/powershell-kommandoer/new-psupublishedfolder.md)


---

# 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/login-page.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.
