WindowsUpdateTools
1.5.89
Comprehensive PowerShell module for diagnosing, analyzing, and remediating Windows Update issues in enterprise environments. Includes SetupDiag integration, automated remediation, and detailed health reporting.
Minimum PowerShell version
5.1
Installation Options
Owners
Copyright
(c) 2025 CSOLVE. All rights reserved.
Package Details
Author(s)
- Anthony Balloi - CSOLVE Alex Appleton - CSOLVE
Tags
WindowsUpdate Remediation Diagnostics Enterprise Intune SCCM SetupDiag Windows10 Windows11 WSUS Troubleshooting Automation SystemAdmin
Functions
Test-WindowsUpdateHealth Repair-WindowsUpdate Invoke-BuildUpgrade Get-UpdateFailureReport Get-ServicingDiagnostics Install-WindowsUpdate Get-Windows11ISO Invoke-ComponentStoreRepairWithISO Debug-WindowsUpdateAgent Get-PendingUpdates Get-WUHResultDescription
PSEditions
Dependencies
This module has no dependencies.
Release Notes
Fix with 1.5.84:
- **FIXED: Incorrect OS Build Number Detection**: After Windows 11 feature updates, WMI can report stale build numbers. Now uses registry CurrentBuild which is always accurate
- **Added FullBuildVersion**: Reports complete version string with UBR (e.g., 26200.7171) matching Defender/Intune reporting
- **Added DisplayVersion**: Shows friendly version name (e.g., 25H2) in diagnostics
- **Exported Missing Functions**: Get-PendingUpdates and Get-WUHResultDescription now properly exported
Critical Fix with 1.5.38:
- **RESOLVED: Invalid Windows language provided error**: Fixed language mapping conversion from system locale codes (like 'en-us') to Fido language names (like 'English International')
- **Comprehensive Language Support**: Added complete language mapping based on official Fido repository analysis covering 40+ languages
- **Enhanced ISO Download Reliability**: Windows 11 ISO downloads now work correctly for all supported system locales
- **Better Language Detection**: Improved automatic language detection with proper Fido format conversion
New Features with 1.5.0:
- **Direct Setup Log Analysis**: New Get-WUSetupLogsDirect function provides immediate Windows 11 24H2 failure analysis without external dependencies
- **Enhanced Error Detection**: Detects 7 specific Windows 11 24H2 error patterns including TAGREF corruption, Dynamic Updates failures, and Driver Store issues
- **Fallback Analysis**: SetupDiag now falls back to direct log analysis when inconclusive or fails entirely
- **Blocking Driver Detection**: Automatically identifies and helps remove unsigned drivers blocking Windows 11 upgrades
- **Software Conflict Detection**: Detects problematic software (FolderLock, Intel DSA, etc.) that interferes with upgrades
- **Targeted Remediation**: Each detected error maps to specific remediation functions for precise fixes
- **Resolve-WUAppraiserIssues**: Fixes Appraiser compatibility database corruption (TAGREF array issues)
- **Resolve-WUDynamicUpdatesIssues**: Handles Dynamic Updates configuration failures (0x80070057) and download issues (0x80004005)
- **Registry Fixes**: Automatically applies Windows 11 24H2 compatibility registry values (CopyFileBufferedSynchronousIo)
- **New Parameters**: Test-Windowsupdate Health now supports -SkipDetailedEventLogs and -SkipPendingUpdates for faster assessments
- **Improved Logging**: Enhanced logging for better clarity on health assessments and remediation steps
- **Detailed Driver Handling**: Added detailed handling for driver signature discrepancies, including OEM driver resolution
- **Resolve-WUDriverDetails**: New function resolves OEM driver references to detailed driver information, including manufacturer, device names, and associated devices
- **Multiple Driver Resolution Methods**: Supports pnputil, Authenticode signature verification, and direct INF file parsing for comprehensive driver analysis
Enhanced Features with 1.5.35:
- **PowerShell 5.1 Compatible ISO Download**: Completely rebuilt Get-WUWindows11ISO function with PS 5.1 compatibility
- **Enhanced Retry Logic**: Global and method-specific retry mechanisms for Microsoft server restrictions and rate limiting
- **Improved Language Detection**: Comprehensive language mapping with 40+ supported locales and intelligent fallback
- **Automatic ISO Integration**: Component store repair now automatically downloads Windows 11 ISO when local files unavailable
- **Enhanced TLS Support**: PowerShell 5.1 compatible TLS 1.2 configuration with fallback mechanisms
- **Better Error Handling**: Simplified error handling optimized for PowerShell 5.1 execution environment
- **ISO File Verification**: Enhanced verification with multiple signature checks (ISO 9660, UDF) and size validation
- **Server Restriction Detection**: Automatic detection and handling of Microsoft download server limitations
FileList
- WindowsUpdateTools.nuspec
- README.md
- dist\WindowsUpdateTools-1.5.75.zip
- Private\Get-WUSetupLogsDirect.ps1
- Private\New-WUHealthIssue.ps1
- Public\Get-PendingUpdates.ps1
- dist\temp\WindowsUpdateTools\Private\Format-WUResult-New.ps1
- dist\temp\WindowsUpdateTools\Private\Install-WUServicingStackUpdate.ps1
- dist\temp\WindowsUpdateTools\Private\Test-WUCOMObject.ps1
- dist\WindowsUpdateTools-1.5.76.zip
- Private\Get-WUSystemHealth.ps1
- Private\Remove-WUProblematicDrivers.ps1
- Public\Get-ServicingDiagnostics.ps1
- dist\temp\WindowsUpdateTools\Private\Format-WUResult-PS51.ps1
- dist\temp\WindowsUpdateTools\Private\Invoke-WUComprehensiveRemediation.ps1
- dist\temp\WindowsUpdateTools\Private\Test-WUComponentStore.ps1
- WindowsUpdateTools.psd1
- dist\WindowsUpdateTools-1.5.77.zip
- Private\Get-WUSystemInfo.ps1
- Private\Resolve-WUAppraiserIssues.ps1
- Public\Get-UpdateFailureReport.ps1
- dist\temp\WindowsUpdateTools\Private\Format-WUResult.ps1
- dist\temp\WindowsUpdateTools\Private\Invoke-WUDriverUpdate.ps1
- dist\temp\WindowsUpdateTools\Private\Test-WUServices.ps1
- WindowsUpdateTools.psm1
- dist\WindowsUpdateTools-1.5.78.zip
- Private\Get-WUUpdateHistory.ps1
- Private\Resolve-WUComponentStore.ps1
- Public\Get-Windows11ISO.ps1
- dist\temp\WindowsUpdateTools\Private\Get-WUConfiguration.ps1
- dist\temp\WindowsUpdateTools\Private\Invoke-WUEnhancedDiskCleanup.ps1
- dist\temp\WindowsUpdateTools\Private\Test-WUWindows11Compatibility.ps1
- dist\Export-WindowsUpdateTools.ps1
- dist\WindowsUpdateTools-1.5.79.zip
- Private\Get-WUWindows11ISO-Enhanced.ps1
- Private\Resolve-WUDriverDetails.ps1
- Public\Get-WUHResultDescription.ps1
- dist\temp\WindowsUpdateTools\Private\Get-WUEventLogs.ps1
- dist\temp\WindowsUpdateTools\Private\Invoke-WUSetupDiag.ps1
- dist\temp\WindowsUpdateTools\Private\Write-WULog.ps1
- dist\test-windowsupdatehealth_log.txt
- dist\WindowsUpdateTools-1.5.80.zip
- Private\Get-WUWindows11ISO-Original-Backup.ps1
- Private\Resolve-WUDynamicUpdatesIssues.ps1
- Public\Install-WindowsUpdate.ps1
- dist\temp\WindowsUpdateTools\Private\Get-WUHResultDescription.ps1
- dist\temp\WindowsUpdateTools\Private\Invoke-WUTroubleshooter.ps1
- dist\temp\WindowsUpdateTools\Public\Debug-WindowsUpdateAgent.ps1
- dist\test-windowsupdatehealth_log2.txt
- dist\WindowsUpdateTools-1.5.81.zip
- Private\Get-WUWindows11ISO-PS51.ps1
- Private\Resolve-WUGenericErrors.ps1
- Public\Invoke-BuildUpgrade.ps1
- dist\temp\WindowsUpdateTools\Private\Get-WUPendingUpdates.ps1
- dist\temp\WindowsUpdateTools\Private\New-WUHealthIssue.ps1
- dist\temp\WindowsUpdateTools\Public\Get-ServicingDiagnostics.ps1
- dist\TESTING_GUIDE_v1535.md
- dist\WindowsUpdateTools-1.5.82.zip
- Private\Get-WUWindows11ISO.ps1
- Private\Resolve-WUSystemPartition.ps1
- Public\Invoke-ComponentStoreRepairWithISO.ps1
- dist\temp\WindowsUpdateTools\Private\Get-WUSetupLogsDirect.ps1
- dist\temp\WindowsUpdateTools\Private\Remove-WUProblematicDrivers.ps1
- dist\temp\WindowsUpdateTools\Public\Get-UpdateFailureReport.ps1
- dist\WindowsUpdateTools-1.5.67.zip
- Private\Clear-WUUpgradeBlockingRegistry.ps1
- Private\Install-WUServicingStackUpdate.ps1
- Private\Resolve-WUWSUSIssues.ps1
- Public\Repair-WindowsUpdate.ps1
- dist\temp\WindowsUpdateTools\Private\Get-WUSystemHealth.ps1
- dist\temp\WindowsUpdateTools\Private\Resolve-WUAppraiserIssues.ps1
- dist\temp\WindowsUpdateTools\Public\Get-Windows11ISO.ps1
- dist\WindowsUpdateTools-1.5.68.zip
- Private\Format-WUResult-New.ps1
- Private\Invoke-WUAutoRepair.ps1
- Private\Test-WUCOMObject.ps1
- Public\Test-WindowsUpdateHealth.ps1
- dist\temp\WindowsUpdateTools\Private\Get-WUSystemInfo.ps1
- dist\temp\WindowsUpdateTools\Private\Resolve-WUComponentStore.ps1
- dist\temp\WindowsUpdateTools\Public\Get-WUHResultDescription.ps1
- dist\WindowsUpdateTools-1.5.69.zip
- Private\Format-WUResult-PS51.ps1
- Private\Invoke-WUComprehensiveRemediation.ps1
- Private\Test-WUComponentStore.ps1
- dist\temp\DeviceConfigurationPolicyStatusesWithPFV3_388cf4d5-435a-480e-adb1-4c2d680da817.csv
- dist\temp\WindowsUpdateTools\Private\Get-WUUpdateHistory.ps1
- dist\temp\WindowsUpdateTools\Private\Resolve-WUDriverDetails.ps1
- dist\temp\WindowsUpdateTools\Public\Install-WindowsUpdate.ps1
- dist\WindowsUpdateTools-1.5.70.zip
- Private\Format-WUResult.ps1
- Private\Invoke-WUDriverUpdate.ps1
- Private\Test-WUServices.ps1
- dist\temp\WindowsUpdateTools\README.md
- dist\temp\WindowsUpdateTools\Private\Get-WUWindows11ISO-Enhanced.ps1
- dist\temp\WindowsUpdateTools\Private\Resolve-WUDynamicUpdatesIssues.ps1
- dist\temp\WindowsUpdateTools\Public\Invoke-BuildUpgrade.ps1
- dist\WindowsUpdateTools-1.5.71.zip
- Private\Get-WUConfiguration.ps1
- Private\Invoke-WUEnhancedDiskCleanup.ps1
- Private\Test-WUWindows11Compatibility.ps1
- dist\temp\WindowsUpdateTools\WindowsUpdateTools.psd1
- dist\temp\WindowsUpdateTools\Private\Get-WUWindows11ISO-Original-Backup.ps1
- dist\temp\WindowsUpdateTools\Private\Resolve-WUGenericErrors.ps1
- dist\temp\WindowsUpdateTools\Public\Invoke-ComponentStoreRepairWithISO.ps1
- dist\WindowsUpdateTools-1.5.72.zip
- Private\Get-WUEventLogs.ps1
- Private\Invoke-WUSetupDiag.ps1
- Private\Write-WULog.ps1
- dist\temp\WindowsUpdateTools\WindowsUpdateTools.psm1
- dist\temp\WindowsUpdateTools\Private\Get-WUWindows11ISO-PS51.ps1
- dist\temp\WindowsUpdateTools\Private\Resolve-WUSystemPartition.ps1
- dist\temp\WindowsUpdateTools\Public\Repair-WindowsUpdate.ps1
- dist\WindowsUpdateTools-1.5.73.zip
- Private\Get-WUHResultDescription.ps1
- Private\Invoke-WUTroubleshooter.ps1
- Public\Debug-WindowsUpdateAgent.ps1
- dist\temp\WindowsUpdateTools\Private\Clear-WUUpgradeBlockingRegistry.ps1
- dist\temp\WindowsUpdateTools\Private\Get-WUWindows11ISO.ps1
- dist\temp\WindowsUpdateTools\Private\Resolve-WUWSUSIssues.ps1
- dist\temp\WindowsUpdateTools\Public\Test-WindowsUpdateHealth.ps1
- dist\WindowsUpdateTools-1.5.74.zip
- Private\Get-WUPendingUpdates.ps1