One issue that occasionally appears in Windows is when the Automatic Updates settings are completely grayed out. Instead of being able to choose how updates are handled, every option is disabled.
In most cases, this is not a bug. It is the result of policy-based registry settings being applied to the system.
These settings may have come from:
- Local Group Policy
- A domain policy
- Security or cleanup tools
- Malware
- Manual registry edits
When these policy values exist, Windows assumes update behavior is being centrally managed and disables the controls in Control Panel or Settings.
The fix is straightforward: remove the policy values that are enforcing those restrictions.
Method 1: AutoIt Script
This was the original approach and still works well for automation.
; Enable Automatic Updates features in Control Panel
RegDelete("HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate\AU", "AUOptions")
RegDelete("HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate\AU", "NoAutoUpdate")
RegDelete("HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate\AU", "CSCiPAV")
RegDelete("HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate\AU", "CSCiPAVVer")
RegDelete("HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\WindowsUpdate", "DisableWindowsUpdateAccess")
This removes the policy values that commonly disable or restrict Windows Update controls.
Method 2: Using Registry Editor (Regedit)
If you prefer to make the changes manually, you can use the built-in Registry Editor.
Steps
- Press Win + R
- Type:
regedit
- Navigate to:
HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate\AU
- Delete the following values if they exist:
AUOptions
NoAutoUpdate
CSCiPAV
CSCiPAVVer
- Then navigate to:
HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\WindowsUpdate
- Delete this value if it exists:
DisableWindowsUpdateAccess
- Close Registry Editor and reboot Windows
Optional Backup
Before making changes:
- Right-click the key
- Choose Export
- Save a
.regfile
This allows you to restore the original state if needed.
Method 3: PowerShell
PowerShell provides a clean and scriptable way to remove these values.
Run PowerShell as Administrator and execute:
$AUPath = "HKLM:\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate\AU"
$UserWUPath = "HKCU:\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\WindowsUpdate"
Remove-ItemProperty -Path $AUPath -Name "AUOptions" -ErrorAction SilentlyContinue
Remove-ItemProperty -Path $AUPath -Name "NoAutoUpdate" -ErrorAction SilentlyContinue
Remove-ItemProperty -Path $AUPath -Name "CSCiPAV" -ErrorAction SilentlyContinue
Remove-ItemProperty -Path $AUPath -Name "CSCiPAVVer" -ErrorAction SilentlyContinue
Remove-ItemProperty -Path $UserWUPath -Name "DisableWindowsUpdateAccess" -ErrorAction SilentlyContinue
The -ErrorAction SilentlyContinue flag prevents errors if a value does not exist.
Method 4: Command Line (reg.exe)
Windows includes a built-in command-line tool for registry operations: reg.exe.
Open Command Prompt as Administrator and run:
reg delete "HKLM\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate\AU" /v AUOptions /f
reg delete "HKLM\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate\AU" /v NoAutoUpdate /f
reg delete "HKLM\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate\AU" /v CSCiPAV /f
reg delete "HKLM\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate\AU" /v CSCiPAVVer /f
reg delete "HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\WindowsUpdate" /v DisableWindowsUpdateAccess /f
Switches Explained
/vspecifies the value name/fforces deletion without confirmation
More Aggressive Option
To remove the entire policy key:
reg delete "HKLM\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate\AU" /f
This deletes all values under that key in one operation.
Method 5: Batch Script (All-in-One Fix)
For quick reuse, create a batch file:
Add the following:
@echo off
echo Restoring Windows Update settings...
reg delete "HKLM\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate\AU" /v AUOptions /f >nul 2>&1
reg delete "HKLM\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate\AU" /v NoAutoUpdate /f >nul 2>&1
reg delete "HKLM\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate\AU" /v CSCiPAV /f >nul 2>&1
reg delete "HKLM\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate\AU" /v CSCiPAVVer /f >nul 2>&1
reg delete "HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\WindowsUpdate" /v DisableWindowsUpdateAccess /f >nul 2>&1
echo Done.
pause
This version suppresses errors and is ideal for quick deployment.
Optional: Ultra-Minimal One-Liner
For quick command-line use:
for %v in (AUOptions NoAutoUpdate CSCiPAV CSCiPAVVer) do reg delete "HKLM\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate\AU" /v %v /f >nul 2>&1 & reg delete "HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\WindowsUpdate" /v DisableWindowsUpdateAccess /f >nul 2>&1
What These Settings Do
These values exist under the Policies registry branches, which override normal user configuration.
- AUOptions — controls how updates are delivered
- NoAutoUpdate — disables Automatic Updates
- DisableWindowsUpdateAccess — blocks access to the Windows Update interface
- CSCiPAV / CSCiPAVVer — less common policy-related values
As long as these values exist, Windows may continue to lock or hide update controls.
Quick Verification
After applying the fix:
- Open Windows Update
- Confirm the settings are no longer grayed out
- Optionally run:
Important Notes
- Run all methods with administrator privileges
- A reboot may be required
- If settings return, they are likely being enforced by:
- Local Group Policy (
gpedit.msc) - Domain Group Policy
- Security tools or scripts
- Local Group Policy (
A Quick Comparison
Each method serves a different use case:
- AutoIt → reusable utilities and GUI tools
- Regedit → manual inspection and learning
- PowerShell → modern scripting and automation
- reg.exe → lightweight command-line fixes
- Batch script → portable, repeatable deployment
All methods achieve the same result: removing policy enforcement so Windows Update returns to normal user control.
Final Thoughts
This issue is rarely caused by Windows Update itself being broken. In most cases, Windows has simply been instructed, through policy, to restrict or hide those controls.
By removing the policy values, you remove the enforcement layer and allow Windows Update to return to normal, user-controlled behavior.