UpdateEverything
1.9.0
Minimum PowerShell version
5.1
Installation Options
Owners
Copyright
(c) 2026 Brian Kronberg. Released under the MIT License.
Package Details
Author(s)
- Brian Kronberg
Tags
Windows Update Maintenance winget WindowsUpdate Chocolatey Scoop ScheduledTask
Functions
Update-Everything Initialize-UpdateEverything Register-UpdateEverythingTask Unregister-UpdateEverythingTask Get-UpdateEverythingTask Test-PendingReboot Convert-PowerShell7ToMsi
PSEditions
Dependencies
This module has no dependencies.
Release Notes
# 1.9.0
## Each step can have a budget
A step that hangs -- winget waiting on a dialog nobody sees -- used to run
until Task Scheduler stopped the whole process at the execution time limit,
with no summary, no toast and no reboot check. -StepTimeoutMinutes, on both
Update-Everything and Register-UpdateEverythingTask, puts a budget on each
step. When a step runs past it, the processes it started are stopped, the
step is recorded as Failed with the reason, and the run continues. Off by
default.
Steps run in-process, so the budget is enforced by a watchdog thread that
stops the child processes of the step. A step that hangs inside a cmdlet in
this process, such as a Windows Update scan that never returns, has no child
to stop and is not helped; the execution time limit remains the backstop.
FileList
- UpdateEverything.nuspec
- Convert-PowerShell7ToMsi.ps1
- Private\Add-SkippedStep.ps1
- Private\Approve-Install.ps1
- Private\Format-LastRunResult.ps1
- Private\Format-SelfVersionStatus.ps1
- Private\Get-CadenceDescription.ps1
- Private\Get-DeveloperToolCatalogue.ps1
- Private\Get-ElevationPolicyNote.ps1
- Private\Get-GalleryModuleStatus.ps1
- Private\Get-ModuleVersionMap.ps1
- Private\Get-NthDayOfWeek.ps1
- Private\Get-PowerShellHostPath.ps1
- Private\Get-ToolInstallSource.ps1
- Private\Get-UnfinishedRunNote.ps1
- Private\Get-UpdateLogDirectory.ps1
- Private\Get-UpdateTaskArgument.ps1
- Private\Get-UpdateToolInventory.ps1
- Private\Get-WingetLeftover.ps1
- Private\Get-WingetUpgradeTable.ps1
- Private\Initialize-ConsoleEncoding.ps1
- Private\Initialize-NotificationSupport.ps1
- Private\Install-DeveloperTool.ps1
- Private\Invoke-SelfElevation.ps1
- Private\Invoke-SetupChoice.ps1
- Private\Invoke-Step.ps1
- Private\Invoke-TaskSetup.ps1
- Private\New-TaskFromPrompt.ps1
- Private\New-UpdateEverythingResult.ps1
- Private\New-UpdateTaskSettingsSet.ps1
- Private\New-UpdateTaskTrigger.ps1
- Private\Read-TimedChoice.ps1
- Private\Remove-JsonComment.ps1
- Private\Request-InstallConsent.ps1
- Private\Request-RunDecision.ps1
- Private\Resolve-WindowStyle.ps1
- Private\Select-TaskFromList.ps1
- Private\Send-UpdateNotification.ps1
- Private\Set-MonthlyDayOfWeekTrigger.ps1
- Private\Set-PwshAsWindowsTerminalDefault.ps1
- Private\Start-StepWatchdog.ps1
- Private\Stop-StepAsSkipped.ps1
- Private\Stop-StepWatchdog.ps1
- Private\Test-AdministratorGroupMember.ps1
- Private\Test-BurntToastSupportsUrgent.ps1
- Private\Test-CanPrompt.ps1
- Private\Test-ElevationCapability.ps1
- Private\Test-InteractiveSession.ps1
- Private\Test-IsAdministrator.ps1
- Private\Test-NotificationModuleAvailable.ps1
- Private\Test-PackagedProcess.ps1
- Private\Test-ParameterSupport.ps1
- Private\Test-ProgressRepaint.ps1
- Private\Test-StepTagMatch.ps1
- Private\Test-UacEnabled.ps1
- Private\Update-ProcessPath.ps1
- Private\Wait-AttendedExit.ps1
- Private\Write-StepLog.ps1
- Public\Convert-PowerShell7ToMsi.ps1
- Public\Get-UpdateEverythingTask.ps1
- Public\Initialize-UpdateEverything.ps1
- Public\Register-UpdateEverythingTask.ps1
- Public\Test-PendingReboot.ps1
- Public\Unregister-UpdateEverythingTask.ps1
- Public\Update-Everything.ps1
- UpdateEverything.psd1
- UpdateEverything.psm1
- en-us\about_UpdateEverything.help.txt