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

# Branding

Passen Sie das Branding von PowerShell Universal mit Beispielen für Anmeldeseiten, Logos, Farben, Stylesheets, Portaltitel und Fehlermeldungen an.

{% hint style="info" %}
Die Branding-Anpassung erfordert eine [Lizenz](https://store.devolutions.net/package#psu).
{% endhint %}

Branding steuert Erscheinungsbild und Text der integrierten Anmeldeseite, der Admin-Konsole, des Portals und ausgewählter Fehlerseiten von PowerShell Universal. Verwenden Sie **Einstellungen > Branding** oder die Datei `.universal\branding.ps1` in Ihrem Konfigurationsrepository. Aktualisieren Sie den Browser nach dem Speichern; einige Bilder, Stile und Titel werden beim Öffnen der Seite geladen.

Branding ist kein App-weites Material UI-Design. Um die Komponenten innerhalb einer App zu gestalten, verwenden Sie [App-Designs](/powershell-universal/de/apps/themes.md).

## Festlegen, wie Branding konfiguriert wird

Verwenden Sie unter **Einstellungen > Branding** die Registerkarten **Text**, **Farben**, **Bilder** und **Anmeldeseite**, und wählen Sie dann **Speichern**. Die folgenden Tabellen verwenden PowerShell-Parameternamen, damit Sie jedes Beispiel der entsprechenden Einstellung zuordnen können. Das Aktualisieren des Brandings erfordert die Berechtigung `settings.branding/update`.

Behalten Sie für die Konfiguration als Code eine einzige Branding-Definition in `.universal\branding.ps1`. `New-PSUBranding` und `New-PSULoginPage` sind Aliase von `Set-PSUBranding`. In einer Konfigurationsdatei erzeugen sie das Branding-Objekt, das PSU lädt. Außerhalb des Konfigurationsladens wendet das Cmdlet das Objekt auf den verbundenen Server an und gibt es zurück.

{% hint style="warning" %}
Ein Branding-Cmdlet-Aufruf ersetzt die Branding-Definition; er führt nicht nur die angegebenen Parameter zusammen. Weggelassene Zeichenfolgen kehren zu ihren Standardwerten zurück, und weggelassene Design- und Layoutwerte werden zu `System` und `Vertical`. Halten Sie die gewünschten Einstellungen in einer Definition zusammen. Die folgenden Beispiele erweitern dieselbe Hashtabelle `$branding`, damit spätere Änderungen frühere Werte nicht löschen.
{% endhint %}

Wenn Sie die Beispiele interaktiv ausführen, stellen Sie zuerst mit `Connect-PSUServer` eine Verbindung zum vorgesehenen Server her. Führen Sie aufeinanderfolgende Beispiele nicht für eine vorhandene Bereitstellung aus, ohne die Einstellungen einzuschließen, die Sie beibehalten möchten.

## Bilder und CSS-Dateien hosten

Bild- und Stylesheet-Einstellungen akzeptieren URLs, die der Browser erreichen kann, keine Dateisystempfade des Servers. Beispielsweise ist `C:\PSU\Branding\logo.png` eine lokale Datei, während `/branding/logo.png` die URL ist, die der Browser anfordern kann.

1. Erstellen Sie auf dem PSU-Server einen eigenen Ordner, zum Beispiel `C:\PSU\Branding`. Gewähren Sie dem PSU-Dienstkonto Lesezugriff.
2. Legen Sie Ihre öffentlichen Branding-Dateien in diesem Ordner ab: `logo.png`, `logo-on-dark.png`, `favicon.ico` und bei Bedarf `login.css`.
3. Veröffentlichen Sie den Ordner unter `/branding`. Lassen Sie Authentifizierung und Rollenbeschränkungen deaktiviert, damit die Anmeldeseite diese Assets laden kann, bevor sich ein Benutzer anmeldet.

Legen Sie diese Definition beispielsweise in `.universal\publishedFolders.ps1` ab:

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

Legen Sie in diesem Ordner nur öffentliche Bilder und Stylesheets ab. Alles, was er bereitstellt, ist ohne Anmeldung erreichbar; veröffentlichen Sie nicht Ihr Konfigurationsrepository, keine Skripte, keine Anmeldeinformationen und keine anderen privaten Dateien. Der Dateisystempfad kann außerhalb des Konfigurationsrepositorys liegen. Verwenden Sie unter anderen Betriebssystemen einen passenden lokalen Pfad.

Öffnen Sie `/branding/logo.png` und `/branding/login.css` auf Ihrer PSU-Website in einem privaten Browserfenster, um den anonymen Zugriff zu bestätigen. Weitere Informationen finden Sie unter [Veröffentlichte Ordner](/powershell-universal/de/plattform/published-folders.md).

Die Beispiele setzen voraus, dass PSU am Stamm der Website gehostet wird. Wenn es unter einem virtuellen Verzeichnis oder einem Proxy-Pfadpräfix ausgeführt wird, schließen Sie dieses Präfix in die URLs ein oder verwenden Sie vollständige HTTPS-URLs, die die Browser Ihrer Benutzer erreichen können. Verwenden Sie keine `localhost`-URL, es sei denn, jeder Browser wird auf dem Server selbst ausgeführt.

## Beispiel: eine Anmeldeseite und eine Konsole mit Branding

Nachdem Sie die Assets veröffentlicht haben, fügen Sie Folgendes in `.universal\branding.ps1` ein:

```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
```

Die Anmeldeseite zeigt das benutzerdefinierte Logo, die Beschreibung und die Anmeldeüberschrift. `LoginPageTitle` liefert außerdem das Titelsuffix auf der Browserregisterkarte. Im aktuellen Anmeldelayout wird der sichtbare benutzerdefinierte Titel unter dem Logo dargestellt, wenn ein benutzerdefiniertes `LoginPageImage` angegeben ist. `AdminConsoleTitle` liefert das Browser-Titelsuffix der Admin-Konsole; eine Entwicklerlizenz verwendet stattdessen den Entwicklungstitel.

`AppBarLogo` liefert das integrierte Navigationslogo von Konsole und Portal. `DarkAppBarLogo` ist das alternative Bild, wenn deren dunkles Design aktiv ist, keine Aufforderung, das Originalbild abzudunkeln. Legen Sie beide Logo-URLs fest. Wählen Sie für das alternative Logo ein helles Bild auf dunklem Grund. Diese Einstellung wählt kein anderes Anmeldeseitenbild: `LoginPageImage` wird von beiden Anmeldesigns gemeinsam verwendet.

| Parameter              | Was anzugeben ist                                                                                                          |
| ---------------------- | -------------------------------------------------------------------------------------------------------------------------- |
| `LoginPageTitle`       | Titel der Anmeldeseite, zum Beispiel `Contoso Automation`. Alias: `Title`.                                                 |
| `LoginPageText`        | Überschrift in der Anmeldekarte, zum Beispiel `Sign in with your work account`.                                            |
| `LoginPageDescription` | Text in der Nähe des Logos, zum Beispiel eine kurze Beschreibung der Zielgruppe oder des Dienstes.                         |
| `LoginPageImage`       | URL des Anmeldelogos, zum Beispiel `/branding/logo.png`. Alias: `Image`.                                                   |
| `LoginPageLogoSize`    | Eine CSS-Breite, zum Beispiel `180px`, `12rem` oder `50%`. Die Standardbreite eines benutzerdefinierten Logos ist `128px`. |
| `AppBarLogo`           | URL des regulären Logos von Konsole und Portal.                                                                            |
| `DarkAppBarLogo`       | URL des alternativen Navigationslogos, das im dunklen Design verwendet wird.                                               |
| `Favicon`              | URL des Symbols der Browserregisterkarte, zum Beispiel `/branding/favicon.ico`.                                            |
| `AdminConsoleTitle`    | Browsertitel-Suffix der Admin-Konsole.                                                                                     |
| `PortalTitle`          | Titel, der von den Ressourcensuche- und Skriptseiten des Portals verwendet wird.                                           |
| `Copyright`            | Copyright-Text auf der Anmeldeseite und überall dort, wo die integrierte Fußzeile gerendert wird.                          |

## Beispiel: Layout, Design und Anmeldefarben

Um Logo und Beschreibung neben der Anmeldekarte zu platzieren, ändern Sie das Profil auf `Horizontal`. `Vertical` stapelt das Branding über der Karte. Das horizontale Layout kann auf schmalen Bildschirmen gestapelt werden.

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

Set-PSUBranding @branding
```

Diese Zeilen setzen voraus, dass `$branding` aus dem vorherigen Beispiel noch definiert ist. Fügen Sie die Zuweisungen für eine Konfigurationsdatei vor dem einzigen abschließenden Aufruf `Set-PSUBranding @branding` hinzu, anstatt eine zweite Branding-Definition hinzuzufügen.

| Parameter                  | Werte und Auswirkung                                                                                                                                                                                                    |
| -------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `LoginPageLayout`          | `Vertical` (Standard) oder `Horizontal`.                                                                                                                                                                                |
| `LoginPageTheme`           | `System` (Standard), `Light` oder `Dark`. Verwenden Sie `System`, nicht `Auto`. Der Systemmodus berücksichtigt die gespeicherte PSU-Designpräferenz des Browsers und andernfalls die Farbpräferenz des Betriebssystems. |
| `LoginPageBackgroundColor` | CSS-Farbe für den Hintergrund des Anmeldelayouts sowie für Hintergrund und Rahmen der primären Anmeldeschaltfläche. Sie entfernt kein integriertes Hintergrundbild und ändert nicht die Textfarbe der Schaltfläche.     |
| `LoginPageFontColor`       | CSS-Farbe für die Typografie der Anmeldeseite. Sie ist keine separate Einstellung für die Schaltflächenbeschriftung oder den Eingabetext.                                                                               |

Verwenden Sie lesbare Vordergrund- und Hintergrundkombinationen und prüfen Sie Logo, Beschreibung, Schaltflächen und Fehlermeldungen in den Designs, die Ihre Benutzer verwenden. `LoginPageTheme` steuert die Anmeldeseite, nicht die Designpräferenzen der Konsole der Benutzer.

## Beispiel: Navigations- und Kartenfarben

Erweitern Sie dasselbe Profil mit diesen Werten:

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

Set-PSUBranding @branding
```

Die Sekundärfarben gelten für die integrierte Admin- und Portalnavigation. Das primäre Farbpaar wird von integrierten Karten wie der Karte zum Zurücksetzen des Kennworts verwendet; es ist nicht die primäre Material UI-Palette für Apps und färbt nicht jedes Konsolensteuerelement neu. Legen Sie `PrimaryColor` zusammen mit `PrimaryFontColor` fest, weil diese Kartenüberschreibungen gemeinsam angewendet werden.

| Parameter                        | Bereich                                                                                                             |
| -------------------------------- | ------------------------------------------------------------------------------------------------------------------- |
| `SecondaryColor`                 | Hintergrund der Navigation bzw. Seitenleiste.                                                                       |
| `SecondaryFontColor`             | Geerbte Vordergrundfarbe der Navigation; Komponentenstile können spezifischere Farben vorgeben.                     |
| `PrimaryColor`                   | Hintergrund integrierter Karten, die die primäre Branding-Farbe verwenden.                                          |
| `PrimaryFontColor`               | Vordergrund, gepaart mit `PrimaryColor` auf diesen Karten.                                                          |
| `HeaderColor`, `HeaderFontColor` | Kompatibilitätseinstellungen für ältere Kopfzeilenlayouts. Das aktuelle Konsolenlayout wendet diese Werte nicht an. |

## Beispiel: das Anmelde-Stylesheet anpassen

Verwenden Sie `LoginPageCssStylesheet`, wenn die integrierten Anmeldeeinstellungen nicht ausreichen. Speichern Sie beispielsweise Folgendes als `C:\PSU\Branding\login.css`, um das integrierte Hintergrundbild durch eine Volltonfarbe zu ersetzen und eine unabhängige Schaltflächenfarbe festzulegen:

```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;
}
```

Verweisen Sie im selben Branding-Profil auf die veröffentlichte URL:

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

Dieses Stylesheet wird auf den Anmelde- und Anmeldefehlerseiten geladen. Es formatiert nicht global die Admin-Konsole oder Ihre Apps. Das Beispiel verwendet spezifischere Selektoren und `!important`, um integrierte Anmeldestile zu überschreiben. CSS-Selektoren sind Implementierungsdetails: Prüfen Sie benutzerdefinierte Stile nach einem PSU-Upgrade erneut.

Verwenden Sie nur vertrauenswürdige Stylesheets, die über HTTPS oder von Ihrer eigenen PSU-Instanz bereitgestellt werden. Wenn eine Änderung nicht erscheint, untersuchen Sie die Stylesheet-Anforderung in den Entwicklertools des Browsers und aktualisieren Sie dann ohne Cache. Eine versionierte URL wie `/branding/login.css?v=2` kann helfen, wenn eine aktualisierte Datei bereitgestellt wird.

## Beispiel: verständliche Fehler- und Abmeldungsnachrichten

Fügen Sie diese Einträge dem Profil hinzu, bevor Sie es anwenden:

```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                                        | Wo es verwendet wird                                                                                                                                |
| ------------------------------------------------ | --------------------------------------------------------------------------------------------------------------------------------------------------- |
| `PageNotFoundTitle`, `PageNotFoundDescription`   | Integrierter Bildschirm für Seite nicht gefunden.                                                                                                   |
| `NotAuthorizedTitle`, `NotAuthorizedDescription` | Integrierter Bildschirm für nicht autorisiert.                                                                                                      |
| `AppNotRunningDescription`                       | Bildschirm des App-Frameworks, der angezeigt wird, wenn eine App nicht ausgeführt wird. Er ist vom Start- oder Ladebildschirm des Servers getrennt. |
| `LoggedOut`, `LoggedOutDescription`              | Titel und Beschreibung auf dem integrierten Bildschirm `/loggedout`.                                                                                |

Diese Einstellungen ändern die Darstellung, nicht die Zugriffsregeln. Sie gewähren keine Berechtigungen, aktivieren keine Authentifizierungsanbieter, starten keine App und ändern nicht die HTTP-Fehlerbehandlung in einem Reverseproxy. Halten Sie Nachrichten frei von Geheimnissen und internen Diagnoseinformationen.

## Kompatibilitätsparameter

Die Cmdlet-Referenz enthält Parameter, die im Branding-Modell erhalten bleiben und von den aktuellen integrierten Seitenlayouts nicht verwendet werden:

| Parameter                        | Kompatibilitätsverhalten                                                                                                                                                         |
| -------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `LoginPageLinks`                 | Akzeptiert `LoginPageLink`-Objekte, aber die aktuellen vertikalen und horizontalen Anmeldevorlagen rendern sie nicht.                                                            |
| `CssStylesheet`                  | Akzeptiert ein Array von Stylesheet-URLs, aber die aktuelle Admin-Konsole lädt diese nicht als globale Stylesheets. Verwenden Sie `LoginPageCssStylesheet` für die Anmeldeseite. |
| `CssStylesheetIntegrity`         | Zugehörige Integritätswerte für `CssStylesheet`; dadurch wird `LoginPageCssStylesheet` kein Integritätsattribut hinzugefügt.                                                     |
| `HeaderColor`, `HeaderFontColor` | Aus Kompatibilitätsgründen gespeichert; das aktuelle navigationsbasierte Konsolenlayout stellt die ältere Kopfzeile mit Branding nicht dar.                                      |

Die Darstellung hängt von der PSU-Version und vom Seitenlayout ab. Dass ein Parameter akzeptiert und gespeichert wird, ist kein Nachweis, dass ein sichtbares Element ihn verwendet. Prüfen Sie die betreffende Seite, anstatt weitere Einstellungen hinzuzufügen, um einen ungenutzten Parameter auszugleichen.

## Zurücksetzen und Problembehandlung

Um das Branding zurückzusetzen, wählen Sie **Zurücksetzen** unter **Einstellungen > Branding** und bestätigen Sie. Dadurch wird die gespeicherte Definition durch die Standardwerte ersetzt. Der entsprechende interaktive Cmdlet-Aufruf lautet:

```powershell
Set-PSUBranding
```

Wenn die Konfiguration über Git oder einen anderen Bereitstellungsprozess verwaltet wird, aktualisieren Sie auch diese Quelle, damit sie das alte Branding nicht erneut anwendet. Das Zurücksetzen des Brandings löscht keine veröffentlichten Bild- oder Stylesheet-Dateien.

| Symptom                                                           | Was zu prüfen ist                                                                                                                                                                                                          |
| ----------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Logo oder CSS wird vor der Anmeldung nicht geladen                | Öffnen Sie die genaue URL in einem privaten Browserfenster. Prüfen Sie den Pfad des veröffentlichten Ordners, den Lesezugriff des Dienstkontos und dass das Asset nicht durch Authentifizierung oder Rollen geschützt ist. |
| Der Browser fordert die falsche Website oder den falschen Pfad an | Bildeinstellungen müssen URLs sein, keine Dateisystempfade. Schließen Sie jedes Hosting-Pfadpräfix ein. Eine HTTPS-Anmeldeseite darf nicht von HTTP-Assets abhängen.                                                       |
| Frühere Einstellungen verschwinden nach einem weiteren Beispiel   | Schließen Sie alle gewünschten Einstellungen in eine Hashtabelle bzw. Branding-Definition ein; Cmdlet-Aufrufe ersetzen die Definition.                                                                                     |
| Die Hintergrundfarbe ändert sich, aber das Muster bleibt          | Die Farbeinstellung entfernt das Hintergrundbild nicht. Verwenden Sie das Stylesheet-Beispiel, wenn Sie einen einfarbigen Hintergrund möchten.                                                                             |
| Der Designwert wird abgelehnt                                     | Verwenden Sie `System`, `Light` oder `Dark`, nicht `Auto`.                                                                                                                                                                 |
| Eine gültige Einstellung hat keine sichtbare Wirkung              | Prüfen Sie den Geltungsbereich der Einstellung und die Kompatibilitätshinweise, aktualisieren Sie den Browser und vergewissern Sie sich, dass die beabsichtigte Konfiguration geladen wurde.                               |
| Favicon oder Stylesheet sieht weiterhin unverändert aus           | Prüfen Sie die Netzwerkantwort und den Browsercache; verwenden Sie bei Bedarf eine versionierte Asset-URL.                                                                                                                 |

## API

* [Set-PSUBranding](/powershell-universal/de/powershell-befehle/set-psubranding.md)
* [New-PSUBranding](/powershell-universal/de/powershell-befehle/new-psubranding.md) (Alias)
* [New-PSUPublishedFolder](/powershell-universal/de/powershell-befehle/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/de/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.
