> 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/powershell-commands/set-psubranding.md).

# Set-PSUBranding

Set-PSUBranding customizes the portal, login page, and admin console branding, colors, and logos for a PowerShell Universal deployment.

## SYNOPSIS

Sets branding for PowerShell Universal.

## SYNTAX

```
Set-PSUBranding [-LoginPageImage <String>] [-AppBarLogo <String>] [-AdminConsoleTitle <String>]
 [-LoginPageTitle <String>] [-LoginPageText <String>] [-LoginPageDescription <String>] [-PrimaryColor <String>]
 [-SecondaryColor <String>] [-PrimaryFontColor <String>] [-SecondaryFontColor <String>]
 [-HeaderFontColor <String>] [-HeaderColor <String>] [-Copyright <String>] [-LoginPageLinks <LoginPageLink[]>]
 [-CssStylesheet <String[]>] [-CssStylesheetIntegrity <String[]>] [-PageNotFoundDescription <String>]
 [-NotAuthorizedDescription <String>] [-AppNotRunningDescription <String>] [-PageNotFoundTitle <String>]
 [-NotAuthorizedTitle <String>] [-LoggedOut <String>] [-LoggedOutDescription <String>] [-Favicon <String>]
 [-DarkAppBarLogo <String>] [-PortalTitle <String>] [-LoginPageTheme <ThemePreference>]
 [-LoginPageCssStylesheet <String>] [-LoginPageLayout <LoginPageLayout>] [-LoginPageBackgroundColor <String>]
 [-LoginPageLogoSize <String>] [-LoginPageFontColor <String>] [-ComputerName <String>] [-AppToken <String>]
 [-Credential <PSCredential>] [-UseDefaultCredentials] [-Integrated] [-TrustCertificate] [-Cookies]
 [<CommonParameters>]
```

## DESCRIPTION

Updates portal, login page, and admin console branding settings for PowerShell Universal. `New-PSUBranding` and `New-PSULoginPage` are aliases of this cmdlet.

Each call replaces the branding definition rather than merging only the supplied parameters. Include all settings you want to preserve. When evaluated in `.universal\branding.ps1`, the cmdlet produces the configuration object for PSU to load. Outside configuration loading, it applies the definition to the connected server and returns it.

See [Branding](/powershell-universal/config/login-page.md) for complete examples, public asset hosting, login layouts, colors, CSS, error messages, and compatibility notes.

## EXAMPLES

### Example 1: Set logos and the console title

```powershell
Set-PSUBranding -LoginPageImage '/branding/logo.png' -AppBarLogo '/branding/logo.png' -AdminConsoleTitle 'My Admin Console'
```

Sets the login image, navigation logo, and admin console browser-title suffix. Publish the image at the specified URL first. Image parameters take browser-accessible URLs, not server filesystem paths. Assets needed before login must allow anonymous access. This call replaces any existing branding definition.

### Example 2: Keep a complete branding profile

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

Set-PSUBranding @branding
```

Keeps related settings together so applying the profile does not omit earlier values. Use `System`, `Light`, or `Dark` for the theme and `Vertical` or `Horizontal` for the layout.

## PARAMETERS

### -AdminConsoleTitle

The admin console browser-title suffix. A developer license uses the development title instead.

```yaml
Type: String
Parameter Sets: (All)
Aliases:

Required: False
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False
```

### -AppBarLogo

The URL of the regular logo to use in the built-in console and portal navigation.

```yaml
Type: String
Parameter Sets: (All)
Aliases:

Required: False
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False
```

### -AppNotRunningDescription

The text to display on the app framework's app-not-running screen, not the server startup/loading screen.

```yaml
Type: String
Parameter Sets: (All)
Aliases:

Required: False
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False
```

### -AppToken

The AppToken that is used for calling the PowerShell Universal Management API. You can also call Connect-PSUServer before calling this cmdlet to set the AppToken for the entire session.

```yaml
Type: String
Parameter Sets: (All)
Aliases:

Required: False
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False
```

### -ComputerName

Specifies the computer name or URL that should be called when accessing the PowerShell Universal Management API. You can also use Connect-PSUServer before calling this cmdlet to set the computer name for the entire session.

```yaml
Type: String
Parameter Sets: (All)
Aliases: Uri

Required: False
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False
```

### -Copyright

The copyright text on the login page and built-in footer where rendered.

```yaml
Type: String
Parameter Sets: (All)
Aliases:

Required: False
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False
```

### -Credential

Credentials to login to the PowerShell Universal Management API.

```yaml
Type: PSCredential
Parameter Sets: (All)
Aliases:

Required: False
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False
```

### -CssStylesheet

Compatibility parameter containing branding stylesheet URLs. The current admin console does not load these as global stylesheets. For login-page CSS, use `-LoginPageCssStylesheet`.

```yaml
Type: String[]
Parameter Sets: (All)
Aliases:

Required: False
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False
```

### -CssStylesheetIntegrity

Companion integrity values for `-CssStylesheet`. This does not add an integrity attribute to `-LoginPageCssStylesheet`.

```yaml
Type: String[]
Parameter Sets: (All)
Aliases:

Required: False
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False
```

### -Favicon

The URL or text to use for the system browser-tab icon. Branding is the configurable source for the system favicon; if unset, the default is used.

HTTP and HTTPS URLs can be extensionless. Relative image locations must use a path (for example, `/branding/icon`, `./images/icon`, or `images/icon`) or a filename with an image extension (for example, `favicon.ico`). Other values are rendered as SVG text.

```yaml
Type: String
Parameter Sets: (All)
Aliases:

Required: False
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False
```

### -HeaderColor

Compatibility setting for older header layouts. The current console layout does not apply it.

```yaml
Type: String
Parameter Sets: (All)
Aliases:

Required: False
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False
```

### -HeaderFontColor

Compatibility setting for older header layouts. The current console layout does not apply it.

```yaml
Type: String
Parameter Sets: (All)
Aliases:

Required: False
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False
```

### -Integrated

Requests integrated management API access when permitted by the server's API security model.

```yaml
Type: SwitchParameter
Parameter Sets: (All)
Aliases:

Required: False
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False
```

### -LoggedOut

The title on the built-in logout screen.

```yaml
Type: String
Parameter Sets: (All)
Aliases:

Required: False
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False
```

### -LoggedOutDescription

The description on the built-in logout screen.

```yaml
Type: String
Parameter Sets: (All)
Aliases:

Required: False
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False
```

### -LoginPageDescription

The description to display near the login logo.

```yaml
Type: String
Parameter Sets: (All)
Aliases:

Required: False
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False
```

### -LoginPageImage

The URL of the image to use on the login page. Publish the asset so unauthenticated browsers can load it; this parameter does not read a local server file.

```yaml
Type: String
Parameter Sets: (All)
Aliases: Image

Required: False
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False
```

### -LoginPageLinks

Compatibility parameter accepting login-page links. The current vertical and horizontal login templates do not render these links.

```yaml
Type: LoginPageLink[]
Parameter Sets: (All)
Aliases:

Required: False
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False
```

### -LoginPageText

The heading inside the sign-in card.

```yaml
Type: String
Parameter Sets: (All)
Aliases:

Required: False
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False
```

### -LoginPageTitle

The login page title and browser-title suffix. In the current login layout, the visible custom title below the logo is rendered when a custom `-LoginPageImage` is provided.

```yaml
Type: String
Parameter Sets: (All)
Aliases: Title

Required: False
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False
```

### -NotAuthorizedDescription

The description to display when the user is not authorized.

```yaml
Type: String
Parameter Sets: (All)
Aliases:

Required: False
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False
```

### -NotAuthorizedTitle

The title to display when the user is not authorized.

```yaml
Type: String
Parameter Sets: (All)
Aliases:

Required: False
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False
```

### -PageNotFoundDescription

The description to display when the page is not found.

```yaml
Type: String
Parameter Sets: (All)
Aliases:

Required: False
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False
```

### -PageNotFoundTitle

The title to display when the page is not found.

```yaml
Type: String
Parameter Sets: (All)
Aliases:

Required: False
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False
```

### -PrimaryColor

Background color for built-in cards that consume the primary branding color, such as the reset-password card. This is not an app Material UI palette setting.

```yaml
Type: String
Parameter Sets: (All)
Aliases:

Required: False
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False
```

### -PrimaryFontColor

Foreground color paired with `-PrimaryColor` on built-in cards. Set both values together.

```yaml
Type: String
Parameter Sets: (All)
Aliases:

Required: False
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False
```

### -SecondaryColor

Background color of the built-in admin and portal navigation/sidebar.

```yaml
Type: String
Parameter Sets: (All)
Aliases:

Required: False
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False
```

### -SecondaryFontColor

Inherited foreground color of the built-in navigation. More specific component styles can override it.

```yaml
Type: String
Parameter Sets: (All)
Aliases:

Required: False
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False
```

### -TrustCertificate

Whether the cmdlet should ignore certificate issues.

```yaml
Type: SwitchParameter
Parameter Sets: (All)
Aliases:

Required: False
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False
```

### -UseDefaultCredentials

Whether the cmdlet should use the default credentials.

```yaml
Type: SwitchParameter
Parameter Sets: (All)
Aliases:

Required: False
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False
```

### -DarkAppBarLogo

The URL of the alternate navigation logo used when dark theme is active. Also set `-AppBarLogo`. This does not change the login image.

```yaml
Type: String
Parameter Sets: (All)
Aliases:

Required: False
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False
```

### -LoginPageTheme

The theme preference for the login page: `System`, `Light`, or `Dark`. The default is `System`, not `Auto`. System mode considers the browser's saved PSU theme preference and otherwise the operating system's color preference. This does not set the signed-in console theme.

```yaml
Type: ThemePreference
Parameter Sets: (All)
Aliases:

Required: False
Position: Named
Default value: System
Accept pipeline input: False
Accept wildcard characters: False
```

### -PortalTitle

The title used by the portal's resource search and script pages.

```yaml
Type: String
Parameter Sets: (All)
Aliases:

Required: False
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False
```

### -LoginPageCssStylesheet

A stylesheet URL loaded on the login and login-error pages. It does not globally style the console or apps.

```yaml
Type: String
Parameter Sets: (All)
Aliases:

Required: False
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False
```

### -LoginPageLayout

The login page layout: `Vertical` (default) or `Horizontal`. The horizontal layout can stack on narrow screens.

```yaml
Type: LoginPageLayout
Parameter Sets: (All)
Aliases:

Required: False
Position: Named
Default value: Vertical
Accept pipeline input: False
Accept wildcard characters: False
```

### -LoginPageBackgroundColor

The login layout background color and primary sign-in button background and border color. This does not remove a built-in background image or set button text color.

```yaml
Type: String
Parameter Sets: (All)
Aliases:

Required: False
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False
```

### -LoginPageFontColor

The color of login-page typography, not a separate input-text or button-label color setting.

```yaml
Type: String
Parameter Sets: (All)
Aliases:

Required: False
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False
```

### -LoginPageLogoSize

The custom login logo width. Pixels, percentages, and other valid CSS widths are allowed; for example, `180px`. When unset, a custom login image uses a width of `128px`.

```yaml
Type: String
Parameter Sets: (All)
Aliases:

Required: False
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False
```

### -Cookies

Reuses and persists authentication cookies for the current PowerShell session.

```yaml
Type: SwitchParameter
Parameter Sets: (All)
Aliases:

Required: False
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False
```

### CommonParameters

This cmdlet supports the common parameters: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -Verbose, -WarningAction, -WarningVariable, and -ProgressAction. For more information, see [about\_CommonParameters](http://go.microsoft.com/fwlink/?LinkID=113216).

## INPUTS

### None

## OUTPUTS

### System.Object

## NOTES

## RELATED LINKS

* [Branding examples](/powershell-universal/config/login-page.md)
* [New-PSUBranding](/powershell-universal/powershell-commands/new-psubranding.md)

## PERMISSIONS

The access token requires `settings.branding/update` to run this cmdlet remotely.


---

# 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/powershell-commands/set-psubranding.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.
