Skip to content

Releases: Pnwcomputers/SystemTester

Version 2.21

11 Nov 21:24
04adbb4

Choose a tag to compare

🧰 Portable Sysinternals System Tester v2.21

Automation Level
Windows Support
PowerShell Version
Enterprise Ready
GitHub issues
Maintenance

Thumb-drive friendly, no-install Windows hardware health check toolkit powered by Sysinternals and PowerShell.

A zero-dependency PowerShell solution that runs a comprehensive, curated set of Sysinternals and Windows diagnostic tools. It then processes the raw data to produce two essential reports: a Clean Summary Report (human-readable, de-noised, with recommendations) and a Detailed Report (cleaned tool outputs).

The essential utility for:

  • Field diagnostics and client handoff reports.
  • Establishing a system baseline health check.
  • Quickly identifying performance bottlenecks.

🚀 NEW in v2.21: Enhanced GPU Testing, Advanced Network Suite & Critical Bug Fixes

Version 2.21 introduces comprehensive GPU testing capabilities, advanced network speed/latency testing, and fixes several critical bugs that prevented the script from running properly.

Key New Capabilities:

  • 🖱️ One-click Menu or Autorun — interactive menu or -AutoRun parameter
  • 🧹 Output Cleaner — removes banners, EULA text, usage blocks for readable reports
  • 🧠 Comprehensive Tests — CPU, RAM, Disk, GPU, Network, OS Health, Windows Update status
  • 🎮 Enhanced GPU Testing — Multi-GPU support, NVIDIA/AMD vendor tools, display configuration
  • 🌐 Advanced Network Speed Suite — Complete connectivity, latency, DNS, MTU, and bandwidth testing
  • 📝 Enhanced Network Testing — Link status, speed, IP/MAC addresses, PSPing integration
  • 🔧 Tool Integrity Verification — Digital signature checking for Sysinternals tools
  • 🗂️ Smart Reporting — timestamped Summary + Detailed TXT reports with actionable recommendations
  • 📦 Fully Portable — run from USB; no installation required
  • 🧰 Graceful Degradation — missing tools detected and skipped automatically with helpful messages
  • 🔐 Robust Elevation Handling — reliable admin detection (Windows Home compatible)
  • 📥 Auto-Download Tools — built-in Sysinternals Suite downloader (no manual setup needed!)
  • 🔄 Windows Update Integration — checks pending updates, history, and service status
  • Modern PowerShell — uses CIM instances (not deprecated WMI) for better performance

🐛 Critical Bug Fixes in v2.21

PowerShell Script Fixes

Issue Impact Status
Missing Initialize-Environment function 🔴 CRITICAL - Script crashed on startup ✅ Fixed
Broken Test-ToolIntegrity function 🔴 Tool verification failed ✅ Fixed
Missing Test-ToolVerification function 🟡 Batch menu option 4 crashed ✅ Fixed
Wrong DISM/SFC code in SMART test 🟡 SMART test ran wrong operations ✅ Fixed
Incorrect TRIM output message 🟢 Cosmetic only ✅ Fixed
AMD GPU detection limited to registry \0000 🟡 Multi-GPU AMD systems not detected ✅ Fixed
GPU driver year parsing could crash 🟢 Rare crash in recommendations ✅ Fixed
COM object memory leak in Windows Update 🟢 Minor memory leak ✅ Fixed

Batch Launcher Fixes

Issue Impact Status
Duplicate Sysinternals folder check 🟢 Annoying duplicate warnings ✅ Fixed
AMD GPU detection limited to \0000 🟡 Multi-GPU AMD systems not detected ✅ Fixed
No GPU-Z size validation 🟢 Corrupted files not caught ✅ Fixed
Inconsistent errorlevel checking 🟢 Minor reliability issues ✅ Fixed

Impact Summary

Before Fixes:

  • ❌ PowerShell script would crash immediately on startup
  • ❌ Tool verification from batch menu would fail
  • ⚠️ AMD GPUs only detected if in first registry position
  • ⚠️ SMART test would incorrectly run DISM/SFC scans

After Fixes:

  • ✅ Script runs reliably from startup
  • ✅ All menu options functional
  • ✅ Multi-GPU systems fully supported
  • ✅ All tests run correct operations
  • ✅ Better error handling throughout

🧩 Requirements

  • OS: Windows 10/11 (Windows Server supported)
  • PowerShell: 5.1+ or PowerShell 7
  • Permissions: Administrator rights recommended (some tests require elevation)
  • Internet: Only needed for auto-download feature (optional)
  • Sysinternals Tools: Auto-downloadable via launcher or manual installation
  • GPU Tools (Optional): NVIDIA drivers (nvidia-smi), AMD drivers, GPU-Z

📁 Recommended Folder Structure

📂 SystemTester/
├── 📄 SystemTester.ps1    # Main PowerShell script (USE THIS)
├── 📄 SystemTester.bat    # Batch launcher (USE THIS)
├── 📄 README.md                 # This file
├── 📄 LICENSE                   # MIT License
├── 📂 Sysinternals/             # Auto-created by launcher
│   ├── psinfo.exe
│   ├── coreinfo.exe
│   ├── pslist.exe
│   ├── handle.exe
│   ├── autorunsc.exe
│   ├── psping.exe              # For advanced network latency testing
│   └── ... (60+ other tools)
├── 📂 Tools/                    # GPU testing tools (optional)
│   └── GPU-Z.exe               # Downloaded via Option 6
└── 📂 Reports/                  # Created when tests run
    ├── SystemTest_Clean_20250103_143022.txt
    └── SystemTest_Detailed_20250103_143022.txt

🚀 Quick Start

Option A: Batch Launcher (Recommended)

  1. Download or clone this repository
  2. Run SystemTester.bat (will request admin elevation)
  3. Choose Option 5 to auto-download Sysinternals Suite (first time only)
  4. Choose Option 6 to set up GPU testing tools (optional)
  5. Choose Option 1 for interactive menu or Option 2 to run all tests
  6. Reports are saved in the script directory

Option B: Direct PowerShell

# Interactive menu
powershell -ExecutionPolicy Bypass -File .\SystemTester.ps1

# Run all tests automatically
powershell -ExecutionPolicy Bypass -File .\SystemTester.ps1 -AutoRun

ℹ️ Launcher compatibility: The batch launcher automatically detects either SystemTester_FIXED.ps1 or the legacy SystemTester.ps1 filename, so both naming conventions continue to work.

First-Time Setup

If Sysinternals tools are missing:

  1. Automatic: Use launcher Menu Option 5 to download (~35 MB)
  2. Manual: Download from live.sysinternals.com, extract to .\Sysinternals\

For enhanced GPU testing:

  1. NVIDIA GPUs: Install latest NVIDIA drivers (includes nvidia-smi)
  2. AMD GPUs: Install latest AMD drivers
  3. GPU-Z (Optional): Use launcher Menu Option 6 → 1 to download

🧪 Test Suites (18 Categories)

# Category Description Key Tools Used
1 System Information OS details, computer info, clock resolution psinfo, clockres, CIM queries
2 CPU Testing Architecture, performance benchmarks, top processes coreinfo, stress test, process analysis
3 RAM Testing Memory capacity, modules, usage patterns CIM queries, testlimit, performance counters
4 Storage Testing Drives, fragmentation, performance, SMART data du, contig, streams, read/write tests
5 Process Analysis Running processes, handles, process tree pslist, handle
6 Security Analysis Autorun entries, startup items autorunsc
7 Network Analysis Connectivity, latency, DNS, bandwidth, MTU netstat, Get-NetAdapter, psping, Test-NetConnection
8 OS Health System file integrity, component store DISM, SFC
9 Storage SMART Drive health, reliability counters Get-PhysicalDisk, WMI SMART
10 SSD TRIM TRIM enablement status fsutil
11 Network Adapters Link status, speed, IP/MAC addresses Get-NetAdapter, Get-NetIPConfiguration
12 GPU (Enhanced) Multi-GPU info, vendor tools, memory CIM, dxdiag, nvidia-smi, GPU-Z
12a Basic GPU Info Details, displays, drivers, DirectX, OpenGL CIM queries, dxdiag
12b Vendor-Specific NVIDIA/AMD metrics, temperatures, utilization nvidia-smi, AMD registry
12c GPU Memory VRAM capacity, usage, performance counters CIM, performance counters
13 Power/Battery Battery health, energy report powercfg, WMI Battery
14 Hardware Events WHEA error logs (last 7 days) Event Viewer (WHEA-Logger)
15 Windows Update Pending updates, history, service status Windows Update COM API

Network Speed Test Suite (Option 7) Features:

  • Local Connectivity — Tests local network and default gateway reachability (Test-NetConnection)
  • Internet Reachability — Connectivity tests to multiple endpoints (Google DNS, Cloudflare DNS, Google.com, Microsoft.com) with port-specific testing (DNS 53, HTTPS 443)
  • Latency Testing — Detailed ping tests to multiple targets with round-trip time measurements
  • PSPing Integration — Advanced latency and TCP bandwidth capacity testing for connection quality analysis (requires psping.exe in Sysinternals folder)
  • DNS Resolution Speed — Measures DNS lookup speed for multiple domains in milliseconds
  • Network MTU Discovery — Checks for standard MTU (1500 bytes) without fragmentation to help identify network configuration issues

📊 Sample Output

Clean Summary Report

=========================================
  SYSTEM TEST REPORT v2.21
  C...
Read more

Version 2.2

25 Oct 01:14
9b776c5

Choose a tag to compare

🧰 Portable Sysinternals System Tester v2.2

Thumb-drive friendly, no-install Windows hardware health check toolkit powered by Sysinternals and PowerShell.

A zero-dependency PowerShell solution that runs a comprehensive, curated set of Sysinternals and Windows diagnostic tools. It then processes the raw data to produce two essential reports: a Clean Summary Report (human-readable, de-noised, with recommendations) and a Detailed Report (cleaned tool outputs).

The essential utility for:

  • Field diagnostics and client handoff reports.
  • Establishing a system baseline health check.
  • Quickly identifying performance bottlenecks.

🚀 NEW in v2.2: Advanced Network Speed & Latency Testing

Version 2.2 introduces a complete Network Speed Test Suite (Menu Option 8) for in-depth connectivity and performance analysis, integrated directly into the clean reporting system.

Key New Capabilities:

Feature Description
Local Connectivity Tests local network, default gateway reachability (Test-NetConnection).
Internet Reachability Connectivity tests to multiple endpoints (Google DNS, Cloudflare DNS, Google.com, Microsoft.com). Includes port-specific testing (DNS 53, HTTPS 443).
Latency Testing Detailed ping tests to multiple targets with round-trip time measurements.
PSPing Integration Advanced latency and TCP bandwidth capacity testing for connection quality analysis (requires psping.exe in Sysinternals folder).
DNS Resolution Speed Measures DNS lookup speed for multiple domains in milliseconds.
Network MTU Discovery Checks for standard MTU (1500 bytes) without fragmentation to help identify network configuration issues.

✨ Core Features

Icon Feature Description
🖱️ One-Click Menu or AutoRun Use the interactive menu or the -AutoRun parameter for unattended, complete system scans.
📦 Fully Portable Run entirely from a USB drive with no installation required.
📥 Auto-Download Tools Built-in functionality to download the latest Sysinternals Suite directly from Microsoft (no manual setup!).
🧹 Smart Reporting & Cleaning Generates timestamped Clean Summary and Detailed TXT reports. Output cleaner removes EULA, banners, and usage blocks for professional reports.
🧠 Comprehensive Tests Covers CPU, RAM, Disk, GPU, Network, OS Health, and Windows Update status (15+ categories).
Modern PowerShell Uses CIM instances (not deprecated WMI) for better performance and future compatibility.
🔐 Robust Elevation SID-based admin check (works on Windows Home) and graceful degradation for missing tools.
🔍 Integrity Verified Validates digital signatures and file integrity for all Sysinternals tools.
🔄 Windows Update Check Integrates to check pending updates, history, and service status.

🧩 Requirements

  • OS: Windows 10/11 (Windows Server supported)
  • PowerShell: 5.1+ or PowerShell 7
  • Permissions: Administrator rights recommended (some key tests require elevation).
  • Internet: Only needed for the optional auto-download feature.
  • Tools: Sysinternals Tools (auto-downloadable via launcher).

Full Changelog: v2.1...v2.2

Version 2.1

04 Oct 01:44
9c524a7

Choose a tag to compare

Release v2.1: Tool Integrity Verification and Enhanced Stability

We are excited to announce version 2.1 of the Portable Sysinternals System Tester! This release focuses heavily on security, integrity, and stability, ensuring the tools you download and run are exactly what they should be, and that the script runs reliably across different environments.

🚀 Key Highlights in v2.1

The biggest addition in this release is the focus on tool validation.

  • Tool Integrity Verification: All Sysinternals executables are now checked for valid digital signatures upon execution or when using the new launcher option. This confirms the tools have not been tampered with and come directly from Microsoft.

  • 📏 File Size Validation: The script can now detect and report corrupted or incomplete Sysinternals Suite downloads, preventing silent failures.

  • 🔧 Launcher Menu Updates: The menu has been updated to reflect the new functionality:

    • Option 4: Verify Tool Integrity (Signatures)

    • Option 5: Download/Update Sysinternals Suite

📦 Installation / Upgrade Instructions

If you are upgrading from a previous version, simply replace your existing SystemTester.ps1 and SystemTester_Launcher.bat files.

Quick Start (Recommended)

  1. Download or clone the new repository files.

  2. Run SystemTester_Launcher.bat (requests admin elevation).

  3. Choose Option 5 to download or update the Sysinternals Suite.

  4. (Optional) Choose Option 4 to verify the digital signatures of all your tools.

  5. Choose Option 1 or Option 2 to run the diagnostics.

⚙️ Architecture and Fixes

A number of under-the-hood improvements were implemented to enhance reliability:

  • Consistent Path Resolution: Fixed issues related to $PSScriptRoot handling, ensuring the script can consistently find the .\Sysinternals folder regardless of how it is executed (dot-sourced or direct execution).

  • Corrected Tool Extension Handling: Resolved issues in verification routines that sometimes incorrectly handled tool extensions.

  • Enhanced Error Messages: Improved debugging output and provided more helpful guidance when tools are missing or corrupted, simplifying troubleshooting.

🗺️ Sneak Peek at v2.2

We're already working on the next release! Planned features for v2.2 include:

  • HTML report export with charts and graphs.

  • Baseline comparison mode (compare current vs. previous tests).

  • Skip flags (-SkipCPU, -SkipNetwork, etc.) for test customization.

🔗 Resources

Resource | Link -- | -- Main Repository | Link to Main Repo Full Documentation | README.md Report Issues | GitHub Issues

Thank you for supporting this project! If you encounter any issues, please open a GitHub issue.

Release v2.1: Tool Integrity Verification and Enhanced Stability We are excited to announce version 2.1 of the Portable Sysinternals System Tester! This release focuses heavily on security, integrity, and stability, ensuring the tools you download and run are exactly what they should be, and that the script runs reliably across different environments.

🚀 Key Highlights in v2.1
The biggest addition in this release is the focus on tool validation.

✅ Tool Integrity Verification: All Sysinternals executables are now checked for valid digital signatures upon execution or when using the new launcher option. This confirms the tools have not been tampered with and come directly from Microsoft.

📏 File Size Validation: The script can now detect and report corrupted or incomplete Sysinternals Suite downloads, preventing silent failures.

🔧 Launcher Menu Updates: The menu has been updated to reflect the new functionality:

Option 4: Verify Tool Integrity (Signatures)

Option 5: Download/Update Sysinternals Suite

📦 Installation / Upgrade Instructions
If you are upgrading from a previous version, simply replace your existing SystemTester.ps1 and SystemTester_Launcher.bat files.

Quick Start (Recommended)
Download or clone the new repository files.

Run SystemTester_Launcher.bat (requests admin elevation).

Choose Option 5 to download or update the Sysinternals Suite.

(Optional) Choose Option 4 to verify the digital signatures of all your tools.

Choose Option 1 or Option 2 to run the diagnostics.

⚙️ Architecture and Fixes
A number of under-the-hood improvements were implemented to enhance reliability:

Consistent Path Resolution: Fixed issues related to $PSScriptRoot handling, ensuring the script can consistently find the .\Sysinternals folder regardless of how it is executed (dot-sourced or direct execution).

Corrected Tool Extension Handling: Resolved issues in verification routines that sometimes incorrectly handled tool extensions.

Enhanced Error Messages: Improved debugging output and provided more helpful guidance when tools are missing or corrupted, simplifying troubleshooting.

🗺️ Sneak Peek at v2.2
We're already working on the next release! Planned features for v2.2 include:

HTML report export with charts and graphs.

Baseline comparison mode (compare current vs. previous tests).

Skip flags (-SkipCPU, -SkipNetwork, etc.) for test customization.

🔗 Resources
Resource

Link

Main Repository

Link to Main Repo

Full Documentation

README.md

Report Issues

GitHub Issues

Thank you for supporting this project! If you encounter any issues, please open a GitHub issue.

Full Changelog: v2.1...v2.1

Version2

03 Oct 20:09
09b3f9b

Choose a tag to compare

📋What's New in Version 2.0
✅ Implemented Features

  • Windows Update status checking (pending updates, history, service status)
  • Auto-download functionality for Sysinternals Suite
  • Enhanced error handling with detailed messages throughout
  • Migration from deprecated WMI to modern CIM instances
  • Improved SMART data collection (legacy and modern APIs)
  • Network adapter detailed information (link speed, IP, MAC)
  • GPU/DirectX information via dxdiag
  • Battery and power efficiency reporting
  • Hardware error event logging (WHEA)
  • SSD TRIM status checking
  • 8-option launcher menu with tool verification
  • Comprehensive help and troubleshooting system
  • Better scope handling for PowerShell variables
  • Async dxdiag handling with timeout
  • Proper argument splitting for tools
  • Memory calculation fixes (KB to GB conversions)
  • Input validation in launcher
  • File size validation for downloads
  • ZIP extraction with overwrite support

Version 1.0 (Alpha)

03 Sep 00:13
da270bf

Choose a tag to compare

Version 1.0 (Alpha) Pre-release
Pre-release

🧪 Version 1.0 Alpha — Initial Public Release

Release Date: September 2, 2025
Status: Alpha
Audience: Early adopters, testers, field technicians


🚀 Overview

This alpha release introduces the Portable Sysinternals System Tester, a thumb-drive friendly toolkit for Windows hardware diagnostics and health checks. Designed for portability and ease of use, it leverages Sysinternals tools and PowerShell to generate clean, actionable reports with minimal setup.


🔧 Key Features

  • Batch Launcher with Self-Elevation

    • New SID-based elevation logic (Home-safe, avoids net session dependency)
    • /elevated flag prevents infinite loops and improves error handling
  • Flexible Execution Modes

    • Interactive menu
    • Classic autorun (-AutoRun)
    • Device-grouped autorun (-AutoRunByDevice) for structured diagnostics
  • Smart Script Selection

    • Automatically prefers SystemTester_device_grouped.ps1 if present
    • Falls back to SystemTester.ps1 for compatibility
  • Execution Policy Fixer

    • One-click option to set RemoteSigned for CurrentUser without extra UAC prompts
  • Robust Help & Troubleshooting Menu

    • Expanded guidance for common issues, setup checklist, and folder structure

📁 Folder Structure

RunSystemTester.bat
SystemTester.ps1
SystemTester_device_grouped.ps1 (optional)
Sysinternals\
TestResults\ (auto-created)

📄 Reports Generated

  • SystemTest_Clean_YYYYMMDD_HHMMSS.txt
  • SystemTest_Detailed_YYYYMMDD_HHMMSS.txt

⚠️ Known Limitations

  • No GUI yet (planned for future release)
  • No HTML or JSON report export (planned for v1.2+)
  • Some tools may require admin rights for full functionality

🧭 Next Steps

  • Gather feedback from testers
  • Improve parsers and output formatting
  • Add support for GPU, SMART, and network throughput modules
  • Begin work on WPF/WinUI launcher and config-driven module system

Full Changelog: https://github.com/Pnwcomputers/SystemTester/commits/v1