An Azure service to centrally manages updates and compliance at scale.
Hello AGlezB-7121 Following up on this thread because the earlier resolution didn’t resolve the behavior.
VMs didn’t reboot even with AlwaysReboot: When Azure Update Manager (AUM) shows: Machine is Required to reboot. However, the customer-specified reboot setting doesn't allow reboots.
The “customer‑specified reboot setting” typically isn’t your Maintenance Configuration. It’s the per‑VM setting on the VM model:
osProfile.windowsConfiguration.patchSettings.automaticByPlatformSettings.rebootSetting
On Azure VMs using Azure‑orchestrated patching (Customer Managed Schedules), this VM‑level rebootSetting takes precedence over the Maintenance Configuration’s rebootSetting. If the VM’s value is Never (or unset in a way that forbids reboots), AUM will not reboot even if the schedule says AlwaysReboot.
As a workaround please try below checks:
- Check the VM’s
rebootSetting: If it returnsNeveror is blank/unknown, that is the blocker.
Azure CLI:
az vm show -g <resourceGroup> -n <vmName> \
--query "osProfile.windowsConfiguration.patchSettings.automaticByPlatformSettings.rebootSetting" -o tsv
Go to Azure Portal: VM ➜ JSON view ➜ find osProfile.windowsConfiguration.patchSettings.automaticByPlatformSettings.rebootSetting.
- Set patch mode + reboot policy correctly:
- Ensure patch mode is
AutomaticByPlatform(Azure‑orchestrated). - Set
rebootSettingtoIfRequired(reboot only when needed) orAlways(unconditional). - Enable
BypassPlatformSafetyChecksOnUserSchedule = true(prereq used by AUM schedules & supported by Azure Policy).
$vm = Get-AzVM -ResourceGroupName "<rg>" -Name "<vm>"
# Use Azure-orchestrated patching for Customer Managed Schedules
$vm.OSProfile.WindowsConfiguration.PatchSettings.PatchMode = "AutomaticByPlatform"
# Configure reboot behavior and bypass safety checks for user schedules
$vm.OSProfile.WindowsConfiguration.PatchSettings.AutomaticByPlatformSettings = `
New-Object Microsoft.Azure.Management.Compute.Models.WindowsVMGuestPatchAutomaticByPlatformSettings -Property @{
RebootSetting = "IfRequired" # or "Always"
BypassPlatformSafetyChecksOnUserSchedule = $true
}
Update-AzVM -ResourceGroupName "<rg>" -VM $vm
When the VM model allows reboots, AUM can honor your schedule’s AlwaysReboot or IfRequired intent. The platform‑documented precedence is the reason the schedule alone couldn’t force the reboot earlier.
- Re‑run the AUM schedule and confirm in logs: After updating the VM property, run the schedule again (or trigger an on‑demand update), then verify in the Windows patch extension logs: *C:\WindowsAzure\Logs\Plugins\Microsoft.CPlat.Core.WindowsPatchExtension<version>*
These logs record the patch operation and reboot decision paths.
If needed you can try below additional checks as well:
Active Hours suppression: If Windows Active Hours overlap your maintenance window, Windows Update may suppress restarts. Align the schedule or adjust Active Hours to avoid overlap.
Maintenance window time left: AUM reserves time for reboot. If insufficient time remains in the window near the end, the reboot can be skipped (commonly ~10 minutes reserved for reboot)
Reference: https://learn.microsoft.com/en-us/azure/virtual-machines/automatic-vm-guest-patching
Thanks,
Suchitra.