Skip to content

PoshUI.Dashboard — Cmdlet Reference ​

Complete reference for every cmdlet exported by the PoshUI.Dashboard module (monitoring dashboards, ScriptCards, and visualization cards). See POSHUI_AUTHORING_GUIDE.md for concepts and the ScriptCard deep-dive.

Auto-generated from the module's runtime metadata and comment-based help (PoshUI 1.3.1). Parameter tables list every non-common parameter.

Cmdlet index ​


Add-UIBanner ​

Adds a banner component to a UI step for displaying hero content.

Creates a highly customizable banner with title, subtitle, optional icon, background image, gradients, interactive elements, and responsive design. Banners are ideal for welcome screens, section headers, dashboards, and promotional content.

Add-UIBanner [-Step] <String> [[-Name] <String>] [-Title] <String> [-Subtitle <String>] [-Description <String>] [-Category <String>] [-Style <String>] [-BannerStyle <String>] [-BannerConfig <Hashtable>] [-Height <Int32>] [-Width <Int32>] [-FullWidth] [-Layout <String>] [-ContentAlignment <String>] [-VerticalAlignment <String>] [-Padding <String>] [-CornerRadius <Int32>] [-TitleFontSize <Int32>] [-SubtitleFontSize <Int32>] [-DescriptionFontSize <Int32>] [-TitleFontWeight <String>] [-SubtitleFontWeight <String>] [-FontFamily <String>] [-TitleColor <String>] [-SubtitleColor <String>] [-DescriptionColor <String>] [-TitleAllCaps] [-TitleLetterSpacing <Double>] [-BackgroundColor <String>] [-BackgroundImagePath <String>] [-BackgroundImageOpacity <Double>] [-BackgroundImageStretch <String>] [-GradientStart <String>] [-GradientEnd <String>] [-GradientAngle <Int32>] [-BorderColor <String>] [-BorderThickness <Int32>] [-ShadowIntensity <String>] [-Opacity <Double>] [-Icon <String>] [-IconPath <String>] [-IconSize <Int32>] [-IconPosition <String>] [-IconColor <String>] [-IconAnimation <String>] [-OverlayImagePath <String>] [-OverlayImageOpacity <Double>] [-OverlayPosition <String>] [-OverlayImageSize <Int32>] [-Clickable] [-ClickAction <ScriptBlock>] [-LinkUrl <String>] [-LinkText <String>] [-HoverEffect <String>] [-ButtonText <String>] [-ButtonIcon <String>] [-ButtonColor <String>] [-ButtonTextColor <String>] [-ShowCloseButton] [-BadgeText <String>] [-BadgeColor <String>] [-BadgeTextColor <String>] [-BadgePosition <String>] [-ProgressValue <Int32>] [-ProgressLabel <String>] [-ProgressColor <String>] [-ProgressBackgroundColor <String>] [-Responsive] [-SmallTitleFontSize <Int32>] [-SmallSubtitleFontSize <Int32>] [-SmallHeight <Int32>] [-SmallIconSize <Int32>] [-ResponsiveBreakpoint <Int32>] [-EntranceAnimation <String>] [-AnimationDuration <Int32>] [-CarouselSlides <Hashtable[]>] [-AutoRotate <Boolean>] [-RotateInterval <Int32>] [-NavigationStyle <String>] [<CommonParameters>]
ParameterTypeRequiredAccepted valuesDefaultDescription
-StepstringYesName of the step to add this banner to.
-NamestringNoUnique name for the banner.
-TitlestringYesMain title text displayed prominently.
-SubtitlestringNoSecondary text displayed below the title.
-DescriptionstringNoAdditional descriptive text below the subtitle.
-CategorystringNoGeneralCategory for grouping/filtering banners (default: General).
-StylestringNo``, Info, Success, Warning, Error
-BannerStylestringNoDefault, Gradient, Image, Minimal, Hero, AccentDefaultPreset style for the banner: Default, Gradient, Image, Minimal, Hero, Accent. This simplifies banner creation for common use cases (80% of scenarios). - Default: Standard banner with theme colors - Gradient: Blue gradient background (135 deg angle) - Image: Larger banner optimized for background images - Minimal: Compact banner with no shadow - Hero: Large centered banner for landing pages - Accent: Green accent color with hover effect
-BannerConfighashtableNo@{}Hashtable of advanced configuration options to override preset values. Allows fine-tuning of preset styles without specifying all parameters. Example: @
-HeightintNo80–600180Height of the banner in pixels (default: 180).
-WidthintNo200–2000700Width of the banner in pixels (default: 700).
-FullWidthswitchNoStretch banner to full available width.
-LayoutstringNoLeft, Center, RightLeftContent layout: Left, Center, Right (default: Left).
-ContentAlignmentstringNoLeft, Center, RightLeftText alignment within content area: Left, Center, Right (default: Left).
-VerticalAlignmentstringNoTop, Center, BottomCenter
-PaddingstringNo32,24
-CornerRadiusintNo0–5012Border corner radius in pixels (default: 12).
-TitleFontSizeintNo12–7232Font size for the title (default: 32).
-SubtitleFontSizeintNo10–3616Font size for the subtitle (default: 16).
-DescriptionFontSizeintNo10–2414
-TitleFontWeightstringNoNormal, Medium, SemiBold, Bold, ExtraBoldBoldFont weight for title: Normal, Medium, SemiBold, Bold, ExtraBold (default: Bold).
-SubtitleFontWeightstringNoNormal, Medium, SemiBold, BoldNormal
-FontFamilystringNoSegoe UIFont family for all text (default: Segoe UI).
-TitleColorstringNo#FFFFFFTitle text color (default: #FFFFFF).
-SubtitleColorstringNo#B0B0B0Subtitle text color (default: #B0B0B0).
-DescriptionColorstringNo#909090Description text color (default: #909090).
-TitleAllCapsswitchNoDisplay title in all uppercase letters.
-TitleLetterSpacingdoubleNo0–100
-BackgroundColorstringNo#2D2D30Background color (default: #2D2D30).
-BackgroundImagePathstringNoOptional path to a background image.
-BackgroundImageOpacitydoubleNo0–10.3Opacity of the background image (default: 0.3).
-BackgroundImageStretchstringNoFill, Uniform, UniformToFill, NoneUniform
-GradientStartstringNoStart color for gradient background.
-GradientEndstringNoEnd color for gradient background.
-GradientAngleintNo0–36090Angle of the gradient in degrees (default: 90).
-BorderColorstringNoTransparent
-BorderThicknessintNo0–100
-ShadowIntensitystringNoNone, Light, Medium, HeavyMediumShadow effect intensity: None, Light, Medium, Heavy (default: Medium).
-OpacitydoubleNo0–11
-Icon (alias: BannerIcon)stringNoOptional icon glyph (e.g., '').
-IconPathstringNoPath to an image file to use as icon instead of glyph.
-IconSizeintNo16–20064Size of the icon in pixels (default: 64).
-IconPositionstringNoLeft, Right, Top, Bottom, BackgroundRightPosition of the icon: Left, Right, Top, Bottom, Background (default: Right).
-IconColorstringNo#40FFFFFFColor of the icon glyph (default: #40FFFFFF).
-IconAnimationstringNoNone, Pulse, Rotate, BounceAnimation for the icon: None, Pulse, Rotate, Bounce (default: None).
-OverlayImagePathstringNoPath to an overlay image displayed on the banner.
-OverlayImageOpacitydoubleNo0–10.5Opacity of the overlay image (default: 0.5).
-OverlayPositionstringNoLeft, Right, CenterRightPosition of overlay image: Left, Right, Center (default: Right).
-OverlayImageSizeintNo40–400120Size of the overlay image in pixels (default: 120).
-ClickableswitchNoMake the entire banner clickable.
-ClickActionscriptblockNoScriptBlock to execute when banner is clicked.
-LinkUrlstringNoURL to open when banner is clicked.
-LinkTextstringNo
-HoverEffectstringNoNone, Lift, Glow, Zoom, DarkenEffect on hover: None, Lift, Glow, Zoom, Darken (default: None).
-ButtonTextstringNoText for an action button on the banner.
-ButtonIconstringNoIcon glyph for the action button.
-ButtonColorstringNo#0078D4Background color of the action button (default: #0078D4).
-ButtonTextColorstringNo#FFFFFF
-ShowCloseButtonswitchNo
-BadgeTextstringNoText for a small badge/label on the banner.
-BadgeColorstringNo#FF5722Background color of the badge (default: #FF5722).
-BadgeTextColorstringNo#FFFFFF
-BadgePositionstringNoTopLeft, TopRight, BottomLeft, BottomRightTopRightPosition of the badge: TopLeft, TopRight, BottomLeft, BottomRight (default: TopRight).
-ProgressValueintNo-1–100-1=============================================================================== Progress Indicator ===============================================================================
-ProgressLabelstringNo
-ProgressColorstringNo#0078D4
-ProgressBackgroundColorstringNo#40FFFFFF
-ResponsiveswitchNo=============================================================================== Responsive Design ===============================================================================
-SmallTitleFontSizeintNo12–4824
-SmallSubtitleFontSizeintNo10–2414
-SmallHeightintNo80–300140
-SmallIconSizeintNo16–10048
-ResponsiveBreakpointintNo300–800500
-EntranceAnimationstringNoNone, FadeIn, SlideIn, ZoomInEntrance animation: None, FadeIn, SlideIn, ZoomIn (default: None).
-AnimationDurationintNo100–2000300Duration of entrance animation in milliseconds (default: 300).
-CarouselSlidesHashtable[]No=============================================================================== Carousel ===============================================================================
-AutoRotateboolNo
-RotateIntervalintNo1000–100003000
-NavigationStylestringNoDots, Arrows, NoneDots

Examples

powershell
Add-UIBanner -Step "Welcome" -Title "Welcome to Setup" -Subtitle "Let's get started"

Creates a simple banner with default styling.

powershell
Add-UIBanner -Step "Dashboard" -Title "System Dashboard" -Subtitle "Monitor your infrastructure" `
    -BannerStyle "Gradient"

Creates a gradient banner using the preset style (blue gradient, 200px height).

powershell
Add-UIBanner -Step "Dashboard" -Title "Hero Banner" -Subtitle "Welcome" `
    -BannerStyle "Hero" `
    -BannerConfig @{ Height = 350; TitleFontSize = 52 }

Creates a hero banner with preset style and custom overrides.

powershell
Add-UIBanner -Step "Dashboard" -Name "CustomBanner" `
    -Title "System Dashboard" `
    -Subtitle "Monitor your infrastructure" `
    -GradientStart "#0078D4" `
    -GradientEnd "#004578" `
    -GradientAngle 135 `
    -Height 220 `
    -TitleFontSize 36 `
    -HoverEffect "Lift"

Creates a fully customized banner with individual parameters (advanced usage).

powershell
Add-UIBanner -Step "Promo" -Name "PromoBanner" `
    -Title "NEW FEATURE" `
    -TitleAllCaps `
    -Subtitle "Check out our latest update" `
    -ButtonText "Learn More" `
    -ButtonIcon "&#xE8A7;" `
    -BadgeText "NEW" `
    -BadgePosition "TopRight" `
    -Clickable `
    -LinkUrl "https://example.com"

Add-UICard ​

Adds an informational card control to a UI step.

Creates a card control that displays formatted text, instructions, or information. Cards are rendered as visually distinct panels and are perfect for providing context, guidelines, warnings, or helpful tips within a UI step.

Add-UICard [-Step] <String> [-Name] <String> [[-Title] <String>] [[-Content] <String>] [-Icon <String>] [-IconPath <String>] [-ImagePath <String>] [-ImageOpacity <Double>] [-LinkUrl <String>] [-LinkText <String>] [-BackgroundColor <String>] [-TitleColor <String>] [-ContentColor <String>] [-CornerRadius <Int32>] [-GradientStart <String>] [-GradientEnd <String>] [-Category <String>] [-Style <String>] [-Subtitle <String>] [-Collapsible] [-AccentColor <String>] [-ButtonText <String>] [<CommonParameters>]
ParameterTypeRequiredAccepted valuesDefaultDescription
-StepstringYesName of the step to add this card to. The step must already exist.
-NamestringYesUnique name for the card. This is used internally to reference the card.
-TitlestringNoTitle displayed at the top of the card.
-ContentstringNoThe main content text to display in the card. Supports multi-line text. Best practice: Use here-strings (@"..."@) for multi-line content instead of backtick-n. You can use bullet points (-), numbers, and formatting for better readability.
-IconstringNoOptional icon to display in the card header. Can be: - Segoe MDL2 icon glyph in format '' (e.g., '' for Info) - Emoji characters (e.g., '[list]', '[i]', '[!]')
-IconPathstringNoPath to an image file to display as an icon next to the title (32x32px).
-ImagePathstringNoPath to a background image for the card.
-ImageOpacitydoubleNo0–11Opacity of the background image (0.0 to 1.0). Default is 1.0.
-LinkUrlstringNoURL to open when the link is clicked.
-LinkTextstringNoText to display for the clickable link. Default is 'Learn more...'.
-BackgroundColorstringNoBackground color for the card (e.g., '#107C10').
-TitleColorstringNoColor for the title text (e.g., '#FFFFFF').
-ContentColorstringNoColor for the content text (e.g., '#B0B0B0').
-CornerRadiusintNo0–508Corner radius for the card border (0-50). Default is 8.
-GradientStartstringNoStarting color for gradient background (e.g., '#0078D4').
-GradientEndstringNoEnding color for gradient background (e.g., '#004578').
-CategorystringNo
-StylestringNoInfo, Success, Warning, Error, HeroInfo
-SubtitlestringNo
-CollapsibleswitchNo
-AccentColorstringNo
-ButtonTextstringNo

Examples

powershell
Add-UICard -Step "Config" -Name "InfoCard" -Title "Important Information" -Content @"
Please read the following guidelines before proceeding:
  • Requirement 1
  • Requirement 2
  • Requirement 3 "@

Adds a simple informational card with bullet points using here-string.

powershell
Add-UICard -Step "Setup" -Name "TipsCard" -Title "[i] Pro Tips" -Content @"
Here are some tips for optimal configuration:
  1. Use strong passwords
  2. Enable backup options
  3. Test before deploying "@

Adds a tips card with emoji icon and numbered list using here-string.

powershell
Add-UICard -Step "Network" -Name "NetworkInfo" -Title "Network Requirements" -Icon "&#xE968;" -Content @"
Ensure the following network requirements are met:
  • Port 443 must be open
  • DNS resolution configured
  • Proxy settings (if applicable) "@

Adds a card with a Segoe MDL2 network icon using here-string.


Add-UIChartCard ​

Adds a chart card (graph visualization) to a UI step.

Creates a chart card that displays data as a line, bar, area, or pie chart. Chart cards are ideal for visualizing trends, comparisons, and distributions.

Add-UIChartCard [-Step] <String> [-Name] <String> [-Title] <String> [-Description <String>] [-ChartType <String>] -Data <Object> [-ShowLegend <Boolean>] [-ShowTooltip <Boolean>] [-Icon <String>] [-IconPath <String>] [-Category <String>] [-RefreshScript <ScriptBlock>] [<CommonParameters>]
ParameterTypeRequiredAccepted valuesDefaultDescription
-StepstringYesName of the step to add this card to. The step must already exist.
-NamestringYesUnique name for the card.
-TitlestringYesDisplay title for the card.
-DescriptionstringNoShort description shown below the card title.
-ChartTypestringNoLine, Bar, Area, Pie, DonutLineType of chart: 'Line', 'Bar', 'Area', or 'Pie'. Default is 'Line'.
-DataobjectYesData to display. Can be an array of objects, a hashtable, or a ScriptBlock that returns data. When a ScriptBlock is provided, it is executed once for initial display and automatically used as RefreshScript.
-ShowLegendboolNoTrueWhether to display the chart legend. Default is $true.
-ShowTooltipboolNoTrueWhether to display tooltips on hover. Default is $true.
-IconstringNoOptional icon glyph (e.g., '').
-IconPathstringNoOptional path to a PNG icon file. If both Icon and IconPath are specified, IconPath takes precedence.
-CategorystringNoGeneralCategory for grouping/filtering cards.
-RefreshScriptscriptblockNoPowerShell script block to re-fetch the data. If not specified and Data is a ScriptBlock, Data is used as RefreshScript.

Examples

powershell
$data = @(
    @{Month='Jan'; Sales=100; Profit=20}
    @{Month='Feb'; Sales=150; Profit=35}
    @{Month='Mar'; Sales=120; Profit=25}
)
Add-UIChartCard -Step "Dashboard" -Name "Sales" -Title "Sales Trend" -ChartType "Line" -Data $data

Adds a line chart showing sales data.

powershell
Add-UIChartCard -Step "Dashboard" -Name "ProcessCPU" -Title "Process CPU Usage" -ChartType "Bar" `
    -Data { Get-Process | Select-Object -First 10 Name, CPU }

Adds a bar chart with dynamic data from a script block.


Add-UIMetricCard ​

Adds a metric card (KPI display) to a UI step.

Creates a metric card that displays a single numeric value with optional unit, trend indicator, and target progress bar. Metric cards are ideal for displaying KPIs, system metrics, and performance indicators.

Add-UIMetricCard [-Step] <String> [-Name] <String> [-Title] <String> [-Description <String>] -Value <Object> [-Unit <String>] [-Format <String>] [-Trend <String>] [-TrendValue <Double>] [-Target <Double>] [-SparklineData <Double[]>] [-ShowGauge] [-ShowSparkline] [-MinValue <Double>] [-MaxValue <Double>] [-Icon <String>] [-IconPath <String>] [-Category <String>] [-RefreshScript <ScriptBlock>] [<CommonParameters>]
ParameterTypeRequiredAccepted valuesDefaultDescription
-StepstringYesName of the step to add this card to. The step must already exist.
-NamestringYesUnique name for the card.
-TitlestringYesDisplay title for the card.
-DescriptionstringNoShort description shown below the card title.
-ValueobjectYesThe numeric value to display. Can be a number or a ScriptBlock that returns a number. When a ScriptBlock is provided, it is executed once for initial display and automatically used as RefreshScript.
-UnitstringNoUnit suffix (e.g., %, GB, items).
-FormatstringNoN0Number format string (e.g., 'N0', 'N2', 'P0'). Default is 'N0'.
-TrendstringNoup, down, stable, ``Trend indicator: 'up', 'down', or 'stable'.
-TrendValuedoubleNo0Numeric trend value to display with the trend indicator.
-TargetdoubleNo0Target value for progress bar. If specified, a progress bar is displayed.
-SparklineDataDouble[]No
-ShowGaugeswitchNo
-ShowSparklineswitchNo
-MinValuedoubleNo0Minimum value for the progress bar. Default is 0.
-MaxValuedoubleNo100Maximum value for the progress bar. Default is 100.
-IconstringNoOptional icon glyph (e.g., '').
-IconPathstringNoOptional path to a colored PNG icon file for the metric card. When specified, the PNG image is displayed instead of the Segoe MDL2 glyph. Supports PNG, ICO, and other image formats.
-CategorystringNoGeneralCategory for grouping/filtering cards.
-RefreshScriptscriptblockNoPowerShell script block to re-fetch the value. If not specified and Value is a ScriptBlock, Value is used as RefreshScript.

Examples

powershell
Add-UIMetricCard -Step "Dashboard" -Name "CPU" -Title "CPU Usage" -Value 75.5 -Unit "%" -Trend "up" -Target 80

Adds a metric card showing CPU usage with trend and target.

powershell
Add-UIMetricCard -Step "Dashboard" -Name "Memory" -Title "Memory Usage" `
    -Value { (Get-CimInstance Win32_OperatingSystem).TotalVisibleMemorySize / 1MB } `
    -Unit "GB" -Target 16

Adds a metric card with dynamic value from a script block.


Add-UIScriptCard ​

Adds an executable script card to a UI step in CardGrid view mode.

Creates a card that represents a PowerShell script with its own parameters in Dashboard view mode. When clicked, the card opens a dialog with the script's parameters (auto-discovered from the script's param block) and an execution console showing real-time output.

Add-UIScriptCard [-Step] <String> [-Name] <String> [-Title] <String> [-Description <String>] [-Icon <String>] [-IconPath <String>] -ScriptPath <String> [-DefaultParameters <Hashtable>] [-Category <String>] [-Tags <String[]>] [<CommonParameters>]

Add-UIScriptCard [-Step] <String> [-Name] <String> [-Title] <String> [-Description <String>] [-Icon <String>] [-IconPath <String>] -ScriptBlock <ScriptBlock> [-DefaultParameters <Hashtable>] [-Category <String>] [-Tags <String[]>] [<CommonParameters>]
ParameterTypeRequiredAccepted valuesDefaultDescription
-StepstringYesName of the step to add this card to. The step must already exist.
-NamestringYesUnique name for the card. This is used internally to reference the card.
-TitlestringYesDisplay title for the card shown in the UI.
-DescriptionstringNoShort description shown below the card title.
-IconstringNoOptional icon to display on the card. Can be: - Segoe MDL2 icon glyph in format '' (e.g., '' for User) - Emoji characters (e.g., fire, clipboard, warning icons)
-IconPathstringNo
-ScriptPathstringYesPath to a .ps1 file to execute. Parameters are auto-discovered from the script's param block.
-ScriptBlockscriptblockYesInline scriptblock to execute. Parameters are auto-discovered from the scriptblock.
-DefaultParametershashtableNo@{}Hashtable of default parameter values to pre-populate in the UI. These override any defaults defined in the script itself.
-CategorystringNoCategory for grouping/filtering cards in the CardGrid view.
-Tagsstring[]NoArray of tags for additional filtering capabilities.

Examples

powershell
Add-UIScriptCard -Step "Tools" -Name "CreateUser" -Title "Create User" `
    -Description "Create a new local user account" `
    -Icon "&#xE77B;" `
    -ScriptPath ".\Scripts\New-LocalUser.ps1"

Adds a script card that executes an external PowerShell script with auto-discovered parameters.

powershell
Add-UIScriptCard -Step "Tools" -Name "RestartIIS" -Title "Restart IIS" `
    -ScriptBlock { Restart-Service W3SVC -Force; "IIS Restarted" }

Adds a simple action card with an inline scriptblock.

powershell
Add-UIScriptCard -Step "Tools" -Name "DiskCheck" -Title "Check Disk Space" `
    -ScriptBlock {
        param([string]$Drive = "C")
        Get-PSDrive $Drive | Select-Object Used, Free, @{N='PercentFree';E={[math]::Round($_.Free/($_.Used+$_.Free)*100,1)}}
    } `
    -DefaultParameters @{ Drive = "C" }

Adds a script card with a parameterized inline script and default values.


Add-UIStatusCard ​

Adds a status indicator card to a UI step.

Creates a status indicator card that displays a list of items with colored status dots. Status colors are automatically assigned based on common status strings:

  • Green: Online, Running, Healthy, OK, Active, Up, Connected, Success
  • Amber: Warning, Degraded, Slow, Pending, Starting
  • Red: Offline, Stopped, Error, Critical, Down, Failed, Disconnected
  • Gray: Maintenance, Disabled, Unknown
Add-UIStatusCard [-Step] <String> [-Name] <String> [-Title] <String> [-Description <String>] -Data <Object[]> [-Icon <String>] [-Category <String>] [-RefreshScript <ScriptBlock>] [<CommonParameters>]
ParameterTypeRequiredAccepted valuesDefaultDescription
-StepstringYesName of the step to add this card to. The step must already exist.
-NamestringYesUnique name for the card.
-TitlestringYesDisplay title for the card.
-DescriptionstringNoShort description shown below the card title.
-Dataobject[]YesArray of hashtables with Label and Status keys. Example: @( @{Label='DNS Server'; Status='Online'}, @{Label='DHCP'; Status='Warning'} )
-IconstringNoOptional icon glyph (e.g., '').
-CategorystringNoGeneralCategory for grouping/filtering cards.
-RefreshScriptscriptblockNoPowerShell script block to re-fetch the status data.

Examples

powershell
Add-UIStatusCard -Step "Dashboard" -Name "Services" -Title "Core Services" `
    -Icon '&#xE770;' -Data @(
        @{Label='Active Directory'; Status='Online'}
        @{Label='DNS Server'; Status='Online'}
        @{Label='DHCP Server'; Status='Warning'}
    )

Adds a status card showing service health with colored dots.


Add-UIStep ​

Adds a new step to the current UI.

Creates a new UI step that can contain controls and defines the structure of the UI. Steps are displayed in order and can be of different types (Wizard or Dashboard).

Add-UIStep [-Name] <String> [-Title] <String> [-Description <String>] [-Order <Int32>] [-Type <String>] [-Icon <String>] [-IconPath <String>] [-Skippable] [<CommonParameters>]
ParameterTypeRequiredAccepted valuesDefaultDescription
-NamestringYesUnique name for the step. This is used internally to reference the step.
-TitlestringYesDisplay title for the step shown in the sidebar and step header.
-DescriptionstringNoOptional description displayed below the title.
-OrderintNo0Numeric order for the step. Steps are displayed in ascending order. If not specified, steps are ordered by the sequence they are added.
-TypestringNoWizard, DashboardType of step to create. Valid values: - Wizard: Standard input form (default) - supports input controls like TextBox, Dropdown, etc. - Dashboard: Dashboard view with ScriptCards and visualization cards (MetricCard, GraphCard, DataGridCard)
-IconstringNoOptional icon for the step in the sidebar. Must be a Segoe MDL2 icon glyph. Format: '' (e.g., '' for Network, '' for Shield) See Docs/FLUENT_ICONS_REFERENCE.md for available glyphs.
-IconPathstringNoOptional path to a colored PNG icon file for the step in the sidebar. When specified, the colored PNG image is displayed instead of the Segoe MDL2 glyph. Supports PNG, ICO, and other image formats.
-SkippableswitchNoWhether this step can be skipped by the user.

Examples

powershell
Add-UIStep -Name "ServerConfig" -Title "Server Configuration" -Order 1

Adds a basic input form step.

powershell
Add-UIStep -Name "Welcome" -Title "Welcome" -Order 1 -Icon "&#xE8BC;" -Description "Get started"

Adds a welcome step with a home icon.


Add-UITableCard ​

Adds a data grid card (table visualization) to a UI step.

Creates a data grid card that displays tabular data with sorting, filtering, and export capabilities. Data grid cards are ideal for displaying lists, logs, and structured data.

Add-UITableCard [-Step] <String> [-Name] <String> [-Title] <String> [-Description <String>] -Data <Object> [-Icon <String>] [-IconPath <String>] [-Category <String>] [-RefreshScript <ScriptBlock>] [<CommonParameters>]
ParameterTypeRequiredAccepted valuesDefaultDescription
-StepstringYesName of the step to add this card to. The step must already exist.
-NamestringYesUnique name for the card.
-TitlestringYesDisplay title for the card.
-DescriptionstringNoShort description shown below the card title.
-DataobjectYesData to display as a table. Can be an array of objects or a ScriptBlock that returns data. When a ScriptBlock is provided, it is executed once for initial display and automatically used as RefreshScript.
-IconstringNoOptional icon glyph (e.g., '').
-IconPathstringNoOptional path to a PNG icon file. If both Icon and IconPath are specified, IconPath takes precedence.
-CategorystringNoGeneralCategory for grouping/filtering cards.
-RefreshScriptscriptblockNoPowerShell script block to re-fetch the data. If not specified and Data is a ScriptBlock, Data is used as RefreshScript.

Examples

powershell
$processes = Get-Process | Select-Object -First 20 Name, Id, CPU, Memory
Add-UITableCard -Step "Dashboard" -Name "Processes" -Title "Running Processes" -Data $processes

Adds a data grid showing process information.

powershell
Add-UITableCard -Step "Dashboard" -Name "Services" -Title "Windows Services" `
    -Data { Get-Service | Select-Object Name, Status, StartType }

Adds a data grid with dynamic data from a script block.


Clear-PoshUIFileState ​

Removes temporary files and logs created by PoshUI.

Cleans up temporary script files, connection info files, and optionally log files created by PoshUI in $env:TEMP\PoshUI and the module's logs directory.

Clear-PoshUIFileState [-IncludeLogs] [[-LogRetentionDays] <Int32>] [-Force] [-WhatIf] [-Confirm] [<CommonParameters>]
ParameterTypeRequiredAccepted valuesDefaultDescription
-IncludeLogsswitchNoAlso remove log files. By default, logs are retained.
-LogRetentionDaysintNo1–36530Number of days to retain log files. Default is 30 days.
-ForceswitchNoSkip confirmation prompts and retry locked files.

Examples

powershell
Clear-PoshUIFileState

Removes temporary files but keeps logs.

powershell
Clear-PoshUIFileState -IncludeLogs -LogRetentionDays 7

Removes temp files and logs older than 7 days.


Clear-PoshUIRegistryState ​

Clears PoshUI session state from the Windows Registry.

Removes all registry keys under HKCU:\Software\PoshUI\Sessions that contain session state data. Detects and removes stale sessions from crashed UIs.

Clear-PoshUIRegistryState [[-SessionId] <String>] [[-OlderThan] <Int32>] [-Force] [-WhatIf] [-Confirm] [<CommonParameters>]
ParameterTypeRequiredAccepted valuesDefaultDescription
-SessionIdstringNoOptional specific session ID to remove. If not specified, all sessions are removed.
-OlderThanintNo0Only remove sessions older than this many hours. Default is to remove all.
-ForceswitchNoSkip confirmation prompts.

Examples

powershell
Clear-PoshUIRegistryState

Removes all PoshUI registry sessions.

powershell
Clear-PoshUIRegistryState -OlderThan 24

Removes sessions older than 24 hours.

powershell
Clear-PoshUIRegistryState -SessionId "12345-67890"

Removes a specific session.


Clear-PoshUIState ​

Clears all PoshUI state including registry entries, temporary files, and orphaned processes.

Master cleanup function that removes all PoshUI-related resources:

  • Registry keys in HKCU:\Software\PoshUI
  • Temporary script files in $env:TEMP\PoshUI
  • Log files older than specified retention period
  • Stale session data from crashed UIs
Clear-PoshUIState [-IncludeLogs] [[-LogRetentionDays] <Int32>] [-Force] [-WhatIf] [-Confirm] [<CommonParameters>]
ParameterTypeRequiredAccepted valuesDefaultDescription
-IncludeLogsswitchNoAlso remove log files. By default, logs are retained.
-LogRetentionDaysintNo1–36530Number of days to retain log files. Default is 30 days.
-ForceswitchNoSkip confirmation prompts.

Examples

powershell
Clear-PoshUIState

Clears all PoshUI state except logs.

powershell
Clear-PoshUIState -IncludeLogs -LogRetentionDays 7 -Force

Clears all state including logs older than 7 days without confirmation.


Get-PoshUIDashboard ​

Retrieves the current PoshUI dashboard definition for inspection and debugging.

Returns the current dashboard definition including all steps, controls, and properties. Useful for debugging, inspecting the dashboard structure, and troubleshooting rendering issues.

Get-PoshUIDashboard [-IncludeProperties] [[-StepName] <String>] [-AsJson] [<CommonParameters>]
ParameterTypeRequiredAccepted valuesDefaultDescription
-IncludePropertiesswitchNoInclude detailed property information for each control.
-StepNamestringNoFilter to a specific step by name.
-AsJsonswitchNoReturn the dashboard definition as JSON (same format sent to the C# frontend).

Examples

powershell
Get-PoshUIDashboard

Returns a summary of the current dashboard with steps and control counts.

powershell
Get-PoshUIDashboard -IncludeProperties

Returns detailed information including all control properties.

powershell
Get-PoshUIDashboard -StepName "SystemOverview"

Returns information for a specific step only.

powershell
Get-PoshUIDashboard -AsJson | Out-File dashboard.json

Exports the dashboard definition as JSON for inspection.


Get-UIConfiguration ​

Retrieves global configuration options for PoshUI.

Gets current global settings that apply to all PoshUI instances. Settings are stored in the registry and persist across sessions.

Get-UIConfiguration [[-Name] <String>] [<CommonParameters>]
ParameterTypeRequiredAccepted valuesDefaultDescription
-NamestringNoDefaultTheme, DefaultTemplate, DefaultGridColumns, EnableTelemetry, LogLevel, LogPath, AutoCleanupEnabled, AutoCleanupHours, EnableEventHistorySpecific configuration setting name to retrieve. If not specified, returns all settings.

Examples

powershell
Get-UIConfiguration

Returns all configuration settings as a hashtable.

powershell
Get-UIConfiguration -Name 'DefaultTheme'

Returns only the DefaultTheme setting value.


New-PoshUIDashboard ​

Initializes a new PoshUI Dashboard definition.

Creates a new Dashboard UI context that can be populated with steps and visualization cards. This function must be called before adding any steps or cards to the UI.

New-PoshUIDashboard [-Title] <String> [-Description <String>] [-Icon <String>] [-SidebarHeaderText <String>] [-WindowTitleIcon <String>] [-SidebarHeaderIcon <String>] [-SidebarHeaderIconOrientation <String>] [-Theme <String>] [-AllowCancel <Boolean>] [-GridColumns <Int32>] [-LogPath <String>] [<CommonParameters>]
ParameterTypeRequiredAccepted valuesDefaultDescription
-TitlestringYesThe title of the UI that will be displayed in the window title bar.
-DescriptionstringNoOptional description of the UI's purpose.
-IconstringNoOptional path to an icon file (PNG, ICO) to display in the UI. Can also be a Segoe MDL2 icon glyph in the format '' (e.g., Database icon).
-SidebarHeaderTextstringNoOptional text to display in the sidebar header for branding.
-WindowTitleIconstringNo
-SidebarHeaderIconstringNoOptional icon for the sidebar header. Can be a file path or Segoe MDL2 glyph (e.g., '').
-SidebarHeaderIconOrientationstringNoLeft, Right, Top, BottomLeftOptional orientation for the sidebar icon relative to the text. Supported values: Left (default), Right, Top, Bottom.
-ThemestringNoLight, Dark, AutoAutoThe theme to use for the UI. Valid values are 'Light', 'Dark', or 'Auto'. Default is 'Auto' which follows the system theme.
-AllowCancelboolNoTrueWhether to allow users to cancel the UI. Default is $true.
-GridColumnsintNo1–63Number of columns for Dashboard grid layout. Default is 3. Valid range: 1-6.
-LogPathstringNoOptional path to a custom log file for dashboard execution logging.

Examples

powershell
New-PoshUIDashboard -Title "System Dashboard"

Creates a new Dashboard UI with the specified title.

powershell
New-PoshUIDashboard -Title "Sales Dashboard" -Description "Real-time sales metrics" -GridColumns 4

Creates a new Dashboard UI with title, description, and 4-column grid layout.


Register-PoshUICleanupTask ​

Registers a scheduled task to automatically clean up PoshUI state.

Creates a Windows scheduled task that periodically runs Clear-PoshUIState to prevent accumulation of orphaned resources from crashed UI sessions.

Register-PoshUICleanupTask [[-Frequency] <String>] [[-Time] <String>] [-IncludeLogs] [[-LogRetentionDays] <Int32>] [-Force] [-WhatIf] [-Confirm] [<CommonParameters>]
ParameterTypeRequiredAccepted valuesDefaultDescription
-FrequencystringNoDaily, Weekly, MonthlyWeeklyHow often to run the cleanup. Valid values: Daily, Weekly, Monthly Default is Weekly.
-TimestringNo02:00Time of day to run cleanup in 24-hour format (e.g., "02:00") Default is 2:00 AM.
-IncludeLogsswitchNoConfigure the task to also clean log files.
-LogRetentionDaysintNo1–36530Number of days to retain log files. Default is 30.
-ForceswitchNoOverwrite existing task if it exists.

Examples

powershell
Register-PoshUICleanupTask

Registers a weekly cleanup task at 2:00 AM.

powershell
Register-PoshUICleanupTask -Frequency Daily -Time "03:00" -IncludeLogs

Registers a daily cleanup at 3:00 AM including log cleanup.


Set-UIBranding ​

Configures branding and appearance settings for the UI.

Sets visual customization options including window title, sidebar header, icons, and theme. Must be called after New-PoshUI.

Set-UIBranding [[-WindowTitle] <String>] [[-WindowTitleIcon] <String>] [[-SidebarHeaderText] <String>] [[-SidebarHeaderIcon] <String>] [[-SidebarHeaderIconOrientation] <String>] [[-ShowSidebarHeaderIcon] <Boolean>] [[-Theme] <String>] [-DisableAnimations] [[-AllowCancel] <Boolean>] [<CommonParameters>]
ParameterTypeRequiredAccepted valuesDefaultDescription
-WindowTitlestringNoThe title displayed in the window title bar.
-WindowTitleIconstringNoPath to an image file (PNG, ICO, etc.) to display in the window title bar.
-SidebarHeaderTextstringNoText displayed in the sidebar header area.
-SidebarHeaderIconstringNoSegoe MDL2 icon glyph for the sidebar header (e.g., '').
-SidebarHeaderIconOrientationstringNoLeft, Right, Top, BottomLeftPosition of the sidebar icon relative to text: 'Left', 'Right', 'Top', or 'Bottom'.
-ShowSidebarHeaderIconboolNoTrueWhether to display the sidebar header icon.
-ThemestringNoLight, Dark, AutoAutoVisual theme: 'Light', 'Dark', or 'Auto' (system default).
-DisableAnimationsswitchNoWhen specified, disables all UI transition animations (step transitions, sidebar, dialogs, hover effects). Useful for accessibility or low-performance environments.
-AllowCancelboolNoTrueWhether users can cancel the UI (default: $true).

Examples

powershell
Set-UIBranding -WindowTitle "Server Setup" -SidebarHeaderText "Company Name" -SidebarHeaderIcon "&#xE8BC;"

Sets basic branding with custom title and sidebar.

powershell
Set-UIBranding -WindowTitle "Deployment Wizard" -Theme "Dark" -AllowCancel $false

Sets dark theme and prevents cancellation.

powershell
Set-UIBranding -Theme "Dark" -DisableAnimations

Uses dark theme with all animations disabled. Use Set-UITheme for custom color overrides.


Set-UIConfiguration ​

Sets global configuration options for PoshUI.

Configures global settings that apply to all PoshUI instances. Settings are stored in the registry and persist across sessions.

Set-UIConfiguration [[-DefaultTheme] <String>] [[-DefaultTemplate] <String>] [[-DefaultGridColumns] <Int32>] [[-EnableTelemetry] <Boolean>] [[-LogLevel] <String>] [[-LogPath] <String>] [[-AutoCleanupEnabled] <Boolean>] [[-AutoCleanupHours] <Int32>] [[-EnableEventHistory] <Boolean>] [-WhatIf] [-Confirm] [<CommonParameters>]
ParameterTypeRequiredAccepted valuesDefaultDescription
-DefaultThemestringNoLight, Dark, AutoDefault theme for new UI instances. Valid values: 'Light', 'Dark', 'Auto'.
-DefaultTemplatestringNoWizard, DashboardDefault template for new UI instances. Valid values: 'Wizard', 'Dashboard'.
-DefaultGridColumnsintNo1–60Default number of grid columns for Dashboard template (1-6).
-EnableTelemetryboolNoEnable or disable telemetry collection.
-LogLevelstringNoNone, Error, Warning, Info, VerboseLogging level. Valid values: 'None', 'Error', 'Warning', 'Info', 'Verbose'.
-LogPathstringNoPath where log files should be stored.
-AutoCleanupEnabledboolNoEnable automatic cleanup of stale sessions.
-AutoCleanupHoursintNo1–1680Number of hours before a session is considered stale (default: 24).
-EnableEventHistoryboolNoEnable event history tracking for debugging.

Examples

powershell
Set-UIConfiguration -DefaultTheme 'Dark' -LogLevel 'Info'

Sets the default theme to dark and enables info-level logging.

powershell
Set-UIConfiguration -AutoCleanupEnabled $true -AutoCleanupHours 48

Enables auto-cleanup with 48-hour threshold.


Set-UITheme ​

Applies a custom color theme to the UI using a simple PowerShell hashtable.

Configures the UI color scheme by accepting a hashtable of named color slots. No XAML knowledge required - just provide hex color values for the slots you want to override. Any slots not specified will use the base theme defaults (Light or Dark).

Supports three usage patterns:

  1. Single theme: Set-UITheme @
  2. Dual themes: Set-UITheme -Light @{...} -Dark @
  3. Mixed: Set-UITheme @{ AccentColor = '#FF6B35' } -Light @{...} -Dark @

Must be called after New-PoshUIDashboard. See Set-UITheme in PoshUI.Wizard for full slot documentation.

Set-UITheme [[-Theme] <Hashtable>] [-Light <Hashtable>] [-Dark <Hashtable>] [<CommonParameters>]
ParameterTypeRequiredAccepted valuesDefaultDescription
-ThemehashtableNoA hashtable of color slot overrides applied to BOTH light and dark modes.
-LighthashtableNoA hashtable of color slot overrides applied ONLY in light mode.
-DarkhashtableNoA hashtable of color slot overrides applied ONLY in dark mode.

Examples

powershell
Set-UITheme @{ AccentColor = '#FF6B35' }
powershell
Set-UITheme -Light @{ Background = '#F5F5F5' } -Dark @{ Background = '#1A1A2E' }

Show-PoshUIDashboard ​

Displays the Dashboard UI and executes the associated script.

Serializes the current Dashboard UI definition to JSON, launches the PoshUI executable, and returns the results.

Show-PoshUIDashboard [[-ScriptBody] <ScriptBlock>] [[-DefaultValues] <Hashtable>] [-NonInteractive] [[-ShowConsole] <Boolean>] [[-Theme] <String>] [[-OutputFormat] <String>] [-RequireSignedScripts] [<CommonParameters>]
ParameterTypeRequiredAccepted valuesDefaultDescription
-ScriptBodyscriptblockNoOptional script block containing the logic to execute after collecting user input. If not provided, a default script that displays the collected parameters is used.
-DefaultValueshashtableNo@{}Hashtable of default values to pre-populate in the UI form. Keys should match the control names.
-NonInteractiveswitchNoRun the UI in non-interactive mode using only the default values. The UI will not be displayed.
-ShowConsoleboolNoTrueWhether to show the live execution console during script execution. Default is $true.
-ThemestringNoLight, Dark, AutoOverride the theme for this UI execution. Valid values are 'Light', 'Dark', or 'Auto'.
-OutputFormatstringNoObject, JSON, HashtableObjectFormat for the returned results. Valid values are 'Object', 'JSON', 'Hashtable'. Default is 'Object'.
-RequireSignedScriptsswitchNo

Examples

powershell
$result = Show-PoshUIDashboard

Shows the UI with default script body and returns results.

powershell
$result = Show-PoshUIDashboard -ScriptBody {
    Write-Host "Configuring server: $ServerName"
    # Perform configuration tasks
    return @{ Status = 'Success'; Message = 'Configuration completed' }
}

Shows the UI with custom script logic.

powershell
$defaults = @{ ServerName = 'SQL01'; Environment = 'Production' }
$result = Show-PoshUIDashboard -DefaultValues $defaults -ScriptBody $configScript

Shows the UI with pre-populated default values.


Unregister-PoshUICleanupTask ​

Removes the PoshUI automatic cleanup scheduled task.

Unregisters the scheduled task created by Register-PoshUICleanupTask.

Unregister-PoshUICleanupTask [-Force] [-WhatIf] [-Confirm] [<CommonParameters>]
ParameterTypeRequiredAccepted valuesDefaultDescription
-ForceswitchNoSkip confirmation prompt.

Examples

powershell
Unregister-PoshUICleanupTask

Removes the PoshUI cleanup task.