UpdateEverything
1.6.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
PSEditions
Dependencies
This module has no dependencies.
Release Notes
# 1.6.0
Both gallery clients are read, two new steps arrive under two new tags, and
the fixes that shipped on GitHub as 1.5.1.
## The self-update reads both gallery clients
PSResourceGet ships in the box with PowerShell 7.4 and its receipts are
invisible to Get-InstalledModule, so a copy installed with Install-PSResource
was told it did not come from the gallery, and -UpdateSelf ran Update-Module,
which cannot move it. The status now consults both clients and runs the one
whose receipt covers the installed copy -- Update-PSResource, whose
CurrentUser default keeps the no-elevation promise, or Update-Module as
before. An all-users copy is reported as needing an elevated session, with
the command that matches, and no UAC prompt is raised either way.
-Tag Self now selects the self step; in 1.5.0 the tag alone ran nothing. A
machine holding a receipted older version beside a newer copy without a
receipt is told about the mixed lineage and the way out, rather than being
called a copy that shipped with the host.
## Two new steps
VS Code extensions runs "code --update-extensions" under the new Editor tag.
The editor itself moves through winget; its extensions only auto-update
while the editor is open to see them, so the step earns its keep on the
editor that is rarely opened or has auto-update off.
MiKTeX packages updates installed TeX packages under the new TeX tag,
through the modern miktex CLI. MiKTeX warns when per-user and all-users
updates mix, so the step runs exactly one mode, chosen by where the
executable lives. An all-users install updates only from an elevated
session, and is skipped with that reason otherwise.
The inventory covers 26 tools.
## The 1.5.1 fixes, new to the gallery
Duplicate-tool detection compares directories case-insensitively again. The
Python launcher probe runs from the system directory inside a try/catch, so
a file named help in the working directory can no longer be executed by it.
conda sits under the Python banner with the same ownership check as uv and
pipx. A step whose tool is absent reports the absent tool rather than a need
for Administrator when both are true, and skipped steps record their log
path. The task wizard reads its tag list from the command it drives. A copy
running from outside every module path is pointed at Install-Module.
## Also in the repository
Convert-PowerShell7ToMsi.ps1 moves a machine from the Store (MSIX)
PowerShell 7 -- which cannot run elevated, and breaks anything that recorded
its versioned path whenever it updates -- to the MSI install, in one
attended run from Windows PowerShell. The README shows the command.
FileList
- UpdateEverything.nuspec
- 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-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\Stop-StepAsSkipped.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\Write-StepLog.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