Version2.2#2
Merged
Pnwcomputers merged 26 commits intomainfrom Oct 31, 2025
Merged
Conversation
New Features Added 1. Tool Integrity Verification Function Added Test-ToolIntegrity() function that: Checks 8 key tools for minimum expected file sizes Detects suspiciously small files (corrupted downloads) Validates .exe extension Has optional digital signature verification (commented out for speed) Provides launcher-aware recommendations for re-download Asks user permission to continue if issues found 2. Integrated into Initialize-Environment The function now: Checks for folder existence Counts available tools Runs integrity verification (new!) Only proceeds if all checks pass 3. Launcher Awareness Working Detects $env:SYSTESTER_LAUNCHER variable Provides contextual messages based on how script was launched Guides users to Option 6 when appropriate
New Features Added 1. Tool Integrity Verification Function Added Test-ToolIntegrity() function that: Checks 8 key tools for minimum expected file sizes Detects suspiciously small files (corrupted downloads) Validates .exe extension Has optional digital signature verification (commented out for speed) Provides launcher-aware recommendations for re-download Asks user permission to continue if issues found 2. Integrated into Initialize-Environment The function now: Checks for folder existence Counts available tools Runs integrity verification (new!) Only proceeds if all checks pass 3. Launcher Awareness Working Detects $env:SYSTESTER_LAUNCHER variable Provides contextual messages based on how script was launched Guides users to Option 6 when appropriate
Set SYSTESTER_LAUNCHER=2.0 before launching PowerShell Clear the variable after execution Apply to both INTERACTIVE and AUTORUN sections
v2.1 update with some bug and code fixes
All Critical Fixes Present: ✅ Fast path length calculation via PowerShell (line 96) ✅ Signature verification with blocking on failure (lines 541-546, exit code 2) ✅ ZIP cleanup on all error paths (lines 486, 507, 543, 547) ✅ Helper functions :SAFE_TIMEOUT and :SAFE_PAUSE (lines 833-855) All Medium Priority Fixes: ✅ Constants defined at top (lines 12-14) ✅ Reduced download timeout to 120 seconds (line 13) ✅ Tool counting after extraction (lines 572-593) ✅ Signature prompts require user confirmation (line 541) All Minor Improvements: ✅ Version in title and menu (lines 71, 154) ✅ Helper functions called consistently throughout ✅ Updated help text with v2.2 features (lines 720-726) ✅ Better error messages with specific guidance
1. Launcher Awareness and Better Messaging Your PowerShell script (SystemTester.ps1) includes both Test-Launcher and the Initialize-Environment function, which works together to provide better diagnostics and guidance. Launcher Awareness: The Test-Launcher function sets the global variable $script:LaunchedViaBatch when the script detects it was called by cmd.exe. This flag is used in the final report generation for better logging. Better Integration Messages: The Initialize-Environment function immediately checks for the /Sysinternals folder. If tools are missing, it prints a clear message directing the user to Menu Option 6 for auto-download, preventing user confusion. 2. Tool Integrity Verification (Option 5) This functionality is handled by the Test-ToolIntegrity and Test-ToolVerification functions in the PowerShell script. Integrity Check: The Test-ToolIntegrity function performs file size checks and uses Get-AuthenticodeSignature to verify that key executables (like psinfo.exe or sigcheck.exe) are genuinely signed by Microsoft. Execution: When you select Option 5 in the Batch file, it runs the following command, which loads the functions and executes the check cleanly: Bash powershell -NoProfile -ExecutionPolicy Bypass -Command "$script:ExternalCall = $true; . '%SCRIPT_PS1%' ; Test-ToolVerification ; Write-Host 'Verification complete...'; $null=Read-Host" 3. Auto-Download Feature (Option 6) The stability fix you just confirmed directly involves the auto-download feature, which is contained entirely within the PowerShell script. Download Logic: The Download-SysinternalsSuite function uses Invoke-WebRequest and ZipFile::ExtractToDirectory to automatically download the official Sysinternals suite, extract it to the correct folder, and clean up the temporary ZIP file. Stable Execution: The Batch file now executes this function reliably using the dot-sourcing method, bypassing the crash-prone execution paths:
version 2.1 update
Updated version to 2.3, added network speed testing features, and improved help documentation.
Added new features for network speed testing, including connectivity tests, latency testing, and DNS resolution speed testing. Enhanced reporting to include network speed test results.
Updated README to reflect new features and improvements in version 2.2, including enhanced network testing capabilities and report generation.
Updated version number and parameters for system testing. Enhanced tool output cleaning and added network speed testing functionality.
Added detailed statistics and summary output for tool verification results.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Merge v2.2 as main branch