A PowerShell progress bar in XAML using the Material Design in XAML Toolkit.
Install-Module PoshProgressBar -Scope CurrentUser
Import-Module PoshProgressBarWindows only. Requires Windows PowerShell 5.1+ with WPF (
PresentationFramework, .NET Framework 4.x). Not supported on Linux, macOS, or PowerShell 7+ (the vendored Material Design assemblies target .NET Framework 4.0 — see THIRD-PARTY-NOTICES.md).
$progressBar = New-ProgressBar -IsIndeterminate $true -MaterialDesign -Type Circle
Write-ProgressBar -Activity "Doing things" -ProgressBar $progressBar -Status "Status" -CurrentOperation "Current Operation"
# ...
Close-ProgressBar -ProgressBar $progressBarResult:
With window options (see CHANGELOG.md):
$progressBar = New-ProgressBar -MaterialDesign -Type Horizontal `
-Topmost $true -ResizeMode NoResize -ShowInTaskbar $true `
-PicturePath "C:\Images\logo.png"- Full per-command help with examples:
PoshProgressBar/PoshProgressBar.psm1-help.xml - Changes: CHANGELOG.md
- Vendored dependency provenance: THIRD-PARTY-NOTICES.md
- Companion site with an option picker: https://tiberriver256.github.io/PoshProgressBar/
Tracked as GitHub issues (all open issues):
- Automated screenshots for documentation
- Backwards compatibility / Server 2012 verification
- Branding (icon, banner, background)
- MahApps styling
- NuGet-based MaterialDesign dependency instead of vendored DLLs
- Find or open an issue and assign it to yourself.
- Fork, branch from
Development, and add Pester coverage for behavior changes. Invoke-ScriptAnalyzer -Path ./PoshProgressBar -Settings ./PSScriptAnalyzerSettings.psd1must be clean.- Open a pull request against the Development branch. CI runs Pester + PSScriptAnalyzer on Windows.
MIT — see LICENSE.md. Third-party binaries are covered in THIRD-PARTY-NOTICES.md.
