Get Started
Get up and running with PoshUI in minutes.

System Requirements
- Windows 10/11 or Windows Server 2016+ (x64)
- .NET Framework 4.8 (pre-installed on Windows 10+)
- Windows PowerShell 5.1 (included with Windows)
Install PoshUI
Download the latest release or build from source.
powershell
# Download from GitHub Releases
# https://github.com/Kanders-II/PoshUI/releases
# Extract and unblock
Get-ChildItem -Recurse | Unblock-Filepowershell
# Clone the repository
git clone https://github.com/Kanders-II/PoshUI.git
cd PoshUI
# Build the solution
dotnet build Launcherauncher.csproj -c release # -> poshuiinposhui.exeCreate Your First Canvas App (new in v1.4.0)
Canvas is the free-form module: no fixed shell, and the script is the application. Start here if you want to lay things out yourself rather than fit an opinionated frame.
powershell
# Import the Canvas module
Import-Module .\PoshUI\PoshUI.Canvas\PoshUI.Canvas.psd1 -Force
New-PoshUICanvas -Title 'My First Canvas App' -Theme Dark -Width 640 -Height 420
Add-UICanvasPage -Title 'Home' -Layout VStack
Add-UICanvasLabel 'What is your name?' -FontSize 18 -FontWeight Bold
Add-UICanvasTextBox -Name who -Value 'World'
Add-UICanvasButton 'Greet' -Style Accent -Action {
Show-UICanvasToast -Message ("Hello, " + (Get-UICanvasValue -Name who)) -Severity success
}
Show-PoshUICanvasSave as UTF-8 with BOM
If your script contains any non-ASCII character (—, ●, emoji, accents), save it as UTF-8 with a BOM. Windows PowerShell 5.1 misreads UTF-8 without one and the app breaks.
More: About Canvas · Capability Reference · runnable demos in PoshUI\Examples\Canvas-*.ps1
Create Your First Wizard
powershell
# Import the Wizard module
$modulePath = Join-Path $PSScriptRoot 'PoshUI\PoshUI.Wizard\PoshUI.Wizard.psd1'
Import-Module $modulePath -Force
# Initialize wizard
New-PoshUIWizard -Title 'My First Wizard' -Theme 'Auto'
# Add a step
Add-UIStep -Name 'Welcome' -Title 'Welcome' -Order 1
# Add a control
Add-UITextBox -Step 'Welcome' -Name 'UserName' -Label 'Your Name' -Mandatory
# Show the wizard
$result = Show-PoshUIWizard
# Process results
if ($result) {
Write-Host "Hello, $($result.UserName)!"
}Create Your First Dashboard
powershell
# Import the Dashboard module
$modulePath = Join-Path $PSScriptRoot 'PoshUI\PoshUI.Dashboard\PoshUI.Dashboard.psd1'
Import-Module $modulePath -Force
# Initialize dashboard
New-PoshUIDashboard -Title 'System Dashboard' -Theme 'Auto'
# Add dashboard step
Add-UIStep -Name 'Dashboard' -Title 'Monitor' -Order 1
# Add a metric card (using new type-specific cmdlet)
Add-UIMetricCard -Step 'Dashboard' -Name 'CPU' -Title 'CPU Usage' `
-Value { (Get-CimInstance Win32_Processor | Measure-Object LoadPercentage -Average).Average } `
-Unit '%' -Icon ''
# Show the dashboard
Show-PoshUIDashboardCreate Your First Workflow
powershell
# Import the Workflow module
$modulePath = Join-Path $PSScriptRoot 'PoshUI\PoshUI.Workflow\PoshUI.Workflow.psd1'
Import-Module $modulePath -Force
# Initialize workflow
New-PoshUIWorkflow -Title 'System Configuration'
# Add configuration step (wizard)
Add-UIStep -Name 'Config' -Title 'Configuration' -Order 1
Add-UITextBox -Step 'Config' -Name 'ServerName' -Label 'Server Name' -Mandatory
# Add execution step (workflow tasks)
Add-UIStep -Name 'Execution' -Title 'Execution' -Order 2 -Type Workflow
# Add a task
Add-UIWorkflowTask -Step 'Execution' -Name 'Configure' -Title 'Configuring Server' `
-ScriptBlock {
$PoshUIWorkflow.WriteOutput("Configuring $ServerName...", "INFO")
Start-Sleep -Seconds 2
$PoshUIWorkflow.WriteOutput("Configuration complete", "INFO")
}
# Show the workflow
Show-PoshUIWorkflowNext Steps
Learn more about the various features of PoshUI:
Wizards & Workflows
- Wizards - Step-by-step guided interfaces
- Workflows - Multi-task automation with progress tracking
- Creating Workflows - Basic structure
- Progress Reporting Guide - WriteOutput() vs UpdateProgress()
- Data Passing Patterns - Wizard inputs, task arguments, context
- Reboot & Resume - Multi-phase workflows with reboots
Dashboards & Monitoring
- Dashboards - Card-based monitoring
- Visualization Cards - Charts, metrics, and data grids
