Skip to content
Utility

PSBench

GUI for exploring PowerShell modules and running commands. Browse cmdlets by module, inspect parameters, preview the command before running, and execute with alternate credentials — no terminal required.

C#WPF

Not everyone is comfortable hammering out Get-ADUser -Filter {…} from memory, and even those who are sometimes want to see the parameters a cmdlet accepts before they commit to it. PSBench is a form-driven front end to PowerShell: browse the installed modules and cmdlets, fill in the parameters, see the exact command it’s about to run, and execute it — with credential input where the cmdlet needs it and grid output for the results.

What it does

  • Discovers installed PowerShell modules and cmdlets.
  • Shows cmdlet help, parameters, and parameter sets.
  • Builds command previews from form inputs.
  • Validates parameters before execution.
  • Runs commands from the GUI.
  • Displays output as text or grid data.
  • Provides credential input for commands that require authentication.
  • Uses a C# WPF MVVM architecture.

Requirements

  • Windows 10 x64 or later.
  • .NET 8.0 Desktop Runtime.
  • PowerShell 5.0 or later.
  • .NET 8 SDK only if building from source.

The installer detects whether the .NET Desktop Runtime is missing and offers to download it.

Install

Download the latest installer from:

https://github.com/Swatto86/PSBench/releases

Run PSBench-<version>-Setup.exe.

Basic workflow

  1. Launch PSBench.
  2. Browse installed modules.
  3. Select a cmdlet.
  4. Inspect help text and parameters.
  5. Fill in parameter values.
  6. Preview the generated PowerShell command.
  7. Execute.
  8. Review output in grid or text format.

Core concepts

Module discovery

PSBench reads available PowerShell modules and cmdlets so you can browse what is installed on the machine.

Cmdlet inspector

The inspector shows command metadata, parameters, parameter sets, and help text, reducing the need to jump between Get-Command, Get-Help, and a separate editor.

Command preview

Before execution, PSBench shows the PowerShell command it is going to run. Review this before running commands that alter remote systems, files, users, or services.

Output modes

Use grid output for objects and table-like data. Use text output for formatted strings, verbose logs, and commands that return console-oriented output.

Build from source

git clone https://github.com/Swatto86/PSBench.git
cd psbench
dotnet restore
dotnet build
dotnet build -c Release

Publish:

dotnet publish PSBench.csproj -c Release -r win-x64 --self-contained false -o bin/publish

Build installer with NSIS:

makensis installer.nsi

Troubleshooting

Application fails to start

Install or repair the .NET 8.0 Desktop Runtime. Check:

dotnet --list-runtimes

PowerShell command fails

Check permissions, parameter values, execution policy, and whether the selected cmdlet is available in the active PowerShell environment.

UI controls display incorrectly

Clear bin and obj, restore packages, and rebuild.

  • GitHub: https://github.com/Swatto86/PSBench
  • Releases: https://github.com/Swatto86/PSBench/releases
← All tools