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.
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
- Launch PSBench.
- Browse installed modules.
- Select a cmdlet.
- Inspect help text and parameters.
- Fill in parameter values.
- Preview the generated PowerShell command.
- Execute.
- 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.
Links
- GitHub:
https://github.com/Swatto86/PSBench - Releases:
https://github.com/Swatto86/PSBench/releases