Add ForceReboot option to force reboot after Windows Updates regardless of pending reboot state
This commit is contained in:
@@ -33,6 +33,8 @@ Enabled = false
|
||||
[Reboot]
|
||||
# Enable automatic reboot after updates if required (true/false)
|
||||
Enabled = false
|
||||
# Force reboot after updates even if Windows does not require one (true/false)
|
||||
ForceReboot = false
|
||||
# Reboot mode: immediate, delayed, scheduled
|
||||
Mode = immediate
|
||||
# Delay in minutes before reboot (only for Mode = delayed)
|
||||
|
||||
@@ -33,6 +33,7 @@ Alle Einstellungen werden in der Datei `config.ini` vorgenommen, die sich im sel
|
||||
| Option | Typ | Standard | Beschreibung |
|
||||
|---|---|---|---|
|
||||
| `Enabled` | Boolean | `false` | Automatischen Neustart nach Updates aktivieren |
|
||||
| `ForceReboot` | Boolean | `false` | Neustart nach Updates erzwingen, auch wenn Windows keinen Reboot anfordert. Setzt `Enabled = true` voraus |
|
||||
| `Mode` | String | `immediate` | Neustart-Modus: `immediate` (sofort), `delayed` (verzögert), `scheduled` (geplante Uhrzeit) |
|
||||
| `DelayMinutes` | Integer | `5` | Verzögerung in Minuten (nur bei `Mode = delayed`) |
|
||||
| `ScheduledTime` | String | `03:00` | Uhrzeit im Format HH:mm (nur bei `Mode = scheduled`). Liegt die Uhrzeit in der Vergangenheit, wird der nächste Tag verwendet |
|
||||
@@ -213,6 +214,7 @@ EmailHtmlReport = true
|
||||
|
||||
[Reboot]
|
||||
Enabled = true
|
||||
ForceReboot = false
|
||||
Mode = delayed
|
||||
DelayMinutes = 10
|
||||
```
|
||||
@@ -236,6 +238,7 @@ Enabled = true
|
||||
|
||||
[Reboot]
|
||||
Enabled = true
|
||||
ForceReboot = false
|
||||
Mode = scheduled
|
||||
ScheduledTime = 03:00
|
||||
|
||||
|
||||
@@ -9,9 +9,9 @@ Author: Patrick Asmus
|
||||
Web: https://www.cleveradmin.de
|
||||
Repository: https://git.techniverse.net/scriptos/windows-updater.git
|
||||
License: MIT
|
||||
Version: 2.8.0
|
||||
Date: 07.07.2026
|
||||
Modifications: Add -DefenderOnly, -DryRun, -ConfigFile parameters and UpdateType config option
|
||||
Version: 2.9.0
|
||||
Date: 14.07.2026
|
||||
Modifications: Add ForceReboot option to force reboot after Windows Updates regardless of pending reboot state
|
||||
#####################################################
|
||||
#>
|
||||
|
||||
@@ -1344,8 +1344,15 @@ function Start-WindowsUpdater {
|
||||
# --- Reboot Handling (skip in DefenderOnly mode) ---
|
||||
if (-not $script:DefenderOnlyMode) {
|
||||
$script:RebootPending = Test-PendingReboot
|
||||
if ($script:RebootPending) {
|
||||
$forceReboot = Get-ConfigValue -Config $script:Config -Section "Reboot" -Key "ForceReboot" -Default $false -Type bool
|
||||
|
||||
if ($script:RebootPending -or $forceReboot) {
|
||||
if ($forceReboot -and -not $script:RebootPending) {
|
||||
Write-Log "ForceReboot is enabled, rebooting even though no reboot is pending"
|
||||
}
|
||||
else {
|
||||
Write-Log "System reboot is pending"
|
||||
}
|
||||
$rebootHandled = Invoke-ScheduledReboot
|
||||
if (-not $rebootHandled) {
|
||||
Write-Log "Auto-reboot is disabled, manual reboot required" -Level WARN
|
||||
|
||||
Reference in New Issue
Block a user