The Windows Update Delivery Optimization feature helps manage bandwidth by using peer-to-peer (P2P) sharing to download system updates. As a result, it can be ideal when updating resources on a metered connection, especially within small networks.
On the other hand, enterprise-level environments have limited use for this feature since they don’t face similar limitations. With that in mind, here’s a comprehensive guide on how to enable or disable Delivery Optimization on Windows 11.
Methods for changing Delivery Optimization preferences
Use the table to choose and quickly navigate to your preferred activation steps.
| Click to Choose a Method | 💻 Best for Individual Users | 💻💻💻 Best for Enterprises |
| Method 1: Windows Settings | ✓ | |
| Method 2: Group Policy (GPO) | ✓ | |
| Method 3: Windows Registry | ✓ | |
| Method 4: PowerShell script | ✓ |
💡 Tip: Check out the Things to look out for section to optimize your action plan and manage risks.
Method 1: Set Delivery Optimization via Settings
This method is best for self-service or Remote Desktop Protocol configuration.
📌 Use cases: Remote activation and personal devices.
📌 Prerequisites: Network and system access.
- Open Settings from Search 🔎 or press Win + I.
- Navigate to Windows Update → Advanced options → Delivery Optimization.
- Toggle Allow downloads from other PCs to manage your preferences.

When enabled, you can specify the Delivery Optimization mode to set whether devices on the internet or the local network will be used for downloading.
Method 2: Set Delivery Optimization via GPO
GPO management tools are commonly used for enterprise-level deployments.
📌 Use cases: Enterprise and system-wide deployments.
📌 Prerequisites: GPO access (Windows 11 Pro, Enterprise, or Education) and Microsoft Edge ADMX templates.
- Press Win + R, type gpedit.msc, and tap OK to open Local Group Policy Editor.
- Navigate to Computer Configuration → Administrative Templates → Windows Components → Delivery Optimization.
- Double-click Download Mode, set it to Enabled, and choose between these options:
- 0 = Select HTTP only (disable P2P).
- 1 = Select LAN (local network) only.
- 2 = Select LAN and Internet.
- 99 = Disable Delivery Optimization.
- Click Apply, then press OK to confirm and exit.
You can run the gpupdate /force command to apply the changes immediately. Otherwise, the new settings will be applied on the next update interval.
👉 Tip: Watch this GPUpdate video demonstration for a visual reference.
Method 3: Set Delivery Optimization via Registry Editor
These steps can be used by advanced users to configure personal and managed devices. It’s also an excellent alternative for systems without GPO access.
📌 Use cases: Personal and system-wide deployments; RMM distribution.
📌 Prerequisite: Network and system access.
- Press Win + R, type regedit, and tap OK to open the Registry Editor.
- Navigate to or copy and paste the following path to the Registry address bar.
HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows
- Under Windows, select or create the DeliveryOptimization key if it doesn’t exist.
- Under DeliveryOptimization, modify or create the DODownloadMode DWORD (32-bit) value.
- Open it and set its Value data according to your preferences.
- 0 = Select HTTP only (disable P2P).
- 1 = Select LAN (local network) only.
- 2 = Select LAN and Internet.
- 99 = Disable Delivery Optimization.
⚠️ Caution: Editing the database can cause system issues. Create a registry backup before proceeding.
Method 4: Set Delivery Optimization via PowerShell script
PowerShell scripts are often used for task automation and software deployment.
📌 Use case: Automation and RMM scripting.
📌 Prerequisite: Network and system access.
PowerShell script for setting Delivery Optimization to HTTP only
- Open PowerShell from Search 🔎 and select Run as administrator.
- Use the following command:
New-Item -Path "HKLM:\SOFTWARE\Policies\Microsoft\Windows\DeliveryOptimization" -Force Set-ItemProperty -Path "HKLM:\SOFTWARE\Policies\Microsoft\Windows\DeliveryOptimization" ` -Name "DODownloadMode" -Value 0
PowerShell script for completely disabling Delivery Optimization
- Open PowerShell from Search 🔎 and select Run as administrator.
- Use the following command:
Set-ItemProperty -Path
"HKLM:\SOFTWARE\Policies\Microsoft\Windows\DeliveryOptimization" `
-Name "DODownloadMode" -Value 9
💡 Note: This script may run or fail without displaying any confirmation or prompt. To verify that changes have been applied successfully, please check the corresponding Registry keys or system settings.
⚠️ Things to look out for when configuring Delivery Optimization
Missing something? Consider these scenarios and tips for handling errors, preventing system issues, and reinforcing policies.
| Risks & Considerations | Possible Consequences/Scenarios | Reversals & Tips |
| Compliance | Using P2P sharing for software updates doesn’t support detailed reporting and analytics. | Extensive reports are not available. But you can use: Settings → Windows Update → Advanced options → Delivery Optimization → Activity monitor to track resource usage. |
| Update interruption | The Delivery Optimization feature may be paused automatically on metered connections. | Check if there are bandwidth restrictions set up that may be preventing the download process. |
| Storage space | Cached files used for system updates are temporarily stored on the hard drive. | Cached files are automatically cleared over time. But it can be manually cleared with Disk Cleanup. |
Disabling Delivery Optimization is typically done to limit P2P sharing, which can pose security risks. This is an effective policy to enforce in controlled environments such as kiosks, schools, and businesses.
Best practices for managing Delivery Optimization settings
The Windows Update Delivery Optimization feature can be quite redundant in enterprise-level environments, especially when business resources are already stored in secure cloud-based platforms and internet bandwidth is not a concern.
Without a practical application, this feature can be deactivated to limit unnecessary P2P interactions and avoid any dip in performance between local devices. For enterprise-level implementations, consider using the Registry Editor, GPO, or PowerShell scripting for fast and reliable deployment.
