Check the health of your Windows or Linux installation, drivers, updates, battery health and much more!
pcHealth is a cross-platform toolkit for IT technicians and power users. It runs on Windows and Linux using a single PowerShell 7 codebase. The goal is to offer the same functionality everywhere: tools are shown or hidden based on the detected OS, and platform-specific actions (like updating packages) automatically use the right method for the current system.
| Platform | CLI | GUI | Min. version |
|---|---|---|---|
| Windows | ✅ | ✅ | Build 26200 (25H2+) |
| Linux | ✅ | ❌ | Kernel 7.0 |
See SECURITY.md for version and end-of-life details.
Requirements: PowerShell 7+, run as Administrator (Windows) or root/sudo (Linux). Minimum Windows build 26200 (25H2) / Linux kernel 7.0.
- Download or clone this repository.
- Run
Start.ps1from an elevated PowerShell 7 terminal:
.\src\CLI\Start.ps1- Download or clone this repository.
- Run
start.sh— it checks for PowerShell 7 and installs it if needed:
bash src/CLI/start.shOr launch directly if PowerShell 7 is already installed:
sudo pwsh ./src/CLI/Start.ps1On Windows, pcHealth includes a native desktop application built with WinUI 3 (.NET 10). It provides the same functionality as the CLI in a graphical interface and requires Windows build 26200 (25H2) or higher.
A Linux GUI is not yet available — WinUI 3 is Windows-only. A cross-platform alternative is in the works.
Build dependencies:
| Tool | Install |
|---|---|
| .NET 10 SDK | winget install Microsoft.DotNet.SDK.10 |
| Visual Studio 2026 | winget install Microsoft.VisualStudio.Community |
| Windows App SDK | Included via NuGet on build |
dotnet build "src/GUI/pcHealth/pcHealth.csproj" -c ReleaseOr open src/GUI/pcHealth/pcHealth.csproj in Visual Studio 2026.
All menus and option numbers are identical across platforms. Windows-only tools are hidden on Linux and vice versa, so numbers remain sequential with no gaps.
Main Menu
| Key | Option |
|---|---|
| 1 | Tools Menu |
| 2 | Programs Menu |
| 3 | Go to repository |
| 4 | Check for pre-releases |
| 5 | Exit |
Tools Menu
Option numbers are assigned sequentially at runtime per platform — Windows-only tools are not shown on Linux and vice versa.
| Function | Platforms | Notes |
|---|---|---|
| System Information | All | OS, kernel, firmware, TPM, RAM |
| Hardware Information | All | CPU, GPU, Storage (SMART), RAM, Chipset |
| Scan + Repair | Windows | SFC + DISM combined |
| Battery Report | Windows | Laptop only |
| Windows Update | Windows | Opens Windows Update settings |
| Disk Optimization | Windows | Opens dfrgui.exe |
| Disk Cleanup | Windows | Opens cleanmgr.exe |
| Short Ping Test | All | 4-packet ping to 8.8.8.8 |
| Continuous Ping Test | All | Continuous ping, Ctrl+C to stop |
| Traceroute to Google | All | tracert / traceroute |
| Reset Network Stack | Windows | DNS flush, Winsock reset, IPv4/IPv6 reset |
| Update all packages | All | winget (Windows) / distro package manager (Linux) |
| Update HP Drivers | Windows | HP Image Assistant (HP devices only) |
| Restart Audio Drivers | Windows | Restarts audio services |
| Open Battery Report | Windows | Opens previously generated report |
| Open CBS Log | Windows | Opens C:\Windows\Logs\CBS\CBS.log |
| Get Ninite | Windows | Downloads Edge, Chrome, VLC, 7-Zip |
| Windows License Key | Windows | OA3 + DigitalProductId registry decode |
| BIOS Password Recovery | All | Links to bios-pw.org - credits: @bacher09 |
| Repair Boot Record | Windows | CHKDSK + SFC + BOOTREC - use with caution |
| Shutdown / Reboot / Log Off | All | |
| Repair Winget | Windows | via winget-install by @asheroto |
| View System Logs | Linux | journalctl errors/warnings |
Programs Menu — Windows
| Key | Program | Install method |
|---|---|---|
| 1 | HWiNFO64 | winget |
| 2 | HWMonitor | winget |
| 3 | Malwarebytes AdwCleaner | winget |
| 4 | CrystalDiskInfo | winget |
| 5 | CrystalDiskMark | winget |
| 6 | Prime95 | winget |
| 7 | Windows PowerToys | winget |
Programs Menu — Linux
| Key | Program | Install method |
|---|---|---|
| 1 | htop | apt / dnf / pacman |
| 2 | iotop | apt / dnf / pacman |
| 3 | smartmontools | apt / dnf / pacman |
| 4 | stress-ng | apt / dnf / pacman |
| 5 | nmap | apt / dnf / pacman |
Contributions are welcome. Follow the existing naming conventions: Verb-Noun.ps1 for tools, consistent Write-PcOption / Set-PcTheme calls for UI.
- New tool scripts go in
src/CLI/tools/and must be registered insrc/CLI/menus/Tools.ps1with appropriatePlatformstags. - Linux-only tools go in
src/CLI/tools/linux/. - Open an issue before starting larger changes to avoid duplicate work.
See SECURITY.md for responsible disclosure of vulnerabilities.
Questions or feedback? Reach out on Discord: REALSDEALS
Or open an issue on GitHub.
Licensed under GNU GPL v3. You are free to use this project, but you may not remove the attribution or re-license it.
pcHealth consolidates and replaces the following earlier projects:
- pcHealthPlus — original batch-based health toolkit
- pcHealthPlus-VS — Visual Studio variant of pcHealthPlus
- Win_Scan — standalone Windows scanning utility
