mirror of
https://github.com/MicrosoftDocs/windows-itpro-docs.git
synced 2025-05-16 07:17:24 +00:00
Merge branch 'master' into v-smandalika-5694287
This commit is contained in:
commit
610a6db8ec
@ -7,7 +7,7 @@ ms.prod: w10
|
||||
ms.technology: windows
|
||||
author: dansimp
|
||||
ms.localizationpriority: medium
|
||||
ms.date: 04/16/2020
|
||||
ms.date: 02/04/2022
|
||||
ms.reviewer:
|
||||
manager: dansimp
|
||||
ms.collection: highpri
|
||||
@ -21,7 +21,7 @@ The BitLocker configuration service provider (CSP) is used by the enterprise to
|
||||
>
|
||||
> You must send all the settings together in a single SyncML to be effective.
|
||||
|
||||
A Get operation on any of the settings, except for RequireDeviceEncryption and RequireStorageCardEncryption, returns
|
||||
A `Get` operation on any of the settings, except for `RequireDeviceEncryption` and `RequireStorageCardEncryption`, returns
|
||||
the setting configured by the admin.
|
||||
|
||||
For RequireDeviceEncryption and RequireStorageCardEncryption, the Get operation returns the actual status of enforcement to the admin, such as if Trusted Platform Module (TPM) protection is required and if encryption is required. And if the device has BitLocker enabled but with password protector, the status reported is 0. A Get operation on RequireDeviceEncryption does not verify that a minimum PIN length is enforced (SystemDrivesMinimumPINLength).
|
||||
@ -120,7 +120,7 @@ If you want to disable this policy, use the following SyncML:
|
||||
```
|
||||
|
||||
> [!NOTE]
|
||||
> Currently only used space encryption is supported when using this CSP.
|
||||
> Currently full disk encryption is supported when using this CSP for silent encryption. For non-silent encryption, encryption type will depend on `SystemDrivesEncryptionType` and `FixedDrivesEncryptionType` configured on the device.
|
||||
|
||||
<!--/Policy-->
|
||||
<!--Policy-->
|
||||
|
BIN
windows/deployment/update/images/waas-mcc-diag-overview.png
Normal file
BIN
windows/deployment/update/images/waas-mcc-diag-overview.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 122 KiB |
96
windows/deployment/update/waas-delivery-optimization-faq.md
Normal file
96
windows/deployment/update/waas-delivery-optimization-faq.md
Normal file
@ -0,0 +1,96 @@
|
||||
---
|
||||
title: Delivery Optimization Frequently Asked Questions
|
||||
ms.reviewer:
|
||||
manager: dougeby
|
||||
description: The following is a list of frequently asked questions for Delivery Optimization.
|
||||
keywords: oms, operations management suite, wdav, updates, downloads, log analytics
|
||||
ms.prod: w10
|
||||
ms.mktglfcycl: deploy
|
||||
audience: itpro
|
||||
author: carmenf
|
||||
ms.localizationpriority: medium
|
||||
ms.author: carmenf
|
||||
ms.collection: M365-modern-desktop
|
||||
ms.topic: article
|
||||
ms.custom: seo-marvel-apr2020
|
||||
---
|
||||
|
||||
# Delivery Optimization Frequently Asked Questions
|
||||
|
||||
**Applies to**
|
||||
|
||||
- Windows 10
|
||||
- Windows 11
|
||||
|
||||
## Does Delivery Optimization work with WSUS?
|
||||
|
||||
Yes. Devices will obtain the update payloads from the WSUS server, but must also have an internet connection as they communicate with the Delivery Optimization cloud service for coordination.
|
||||
|
||||
## Which ports does Delivery Optimization use?
|
||||
|
||||
Delivery Optimization listens on port 7680 for requests from other peers by using TCP/IP. The service will register and open this port on the device. The port must be set to accept inbound traffic through your firewall. If you don't allow inbound traffic over port 7680, you can't use the peer-to-peer functionality of Delivery Optimization. However, devices can still successfully download by using HTTP or HTTPS traffic over port 80 (such as for default Windows Update data).
|
||||
|
||||
Delivery Optimization will use Teredo to create peer groups, which include devices across NATs (or any form of internal subnet that uses gateways or firewalls between subnets). For this to work, you must allow inbound TCP/IP traffic over port 3544. Look for a "NAT traversal" setting in your firewall to set this up.
|
||||
|
||||
Delivery Optimization also communicates with its cloud service by using HTTP/HTTPS over port 80.
|
||||
|
||||
## What are the requirements if I use a proxy?
|
||||
|
||||
For Delivery Optimization to successfully use the proxy, you should set up the proxy by using Windows proxy settings or Internet Explorer proxy settings. For details see [Using a proxy with Delivery Optimization](./delivery-optimization-proxy.md). Most content downloaded with Delivery Optimization uses byte range requests. Make sure your proxy allows byte range requests. For more information, see [Proxy requirements for Windows Update](/windows/deployment/update/windows-update-troubleshooting.md).
|
||||
|
||||
## What hostnames should I allow through my firewall to support Delivery Optimization?
|
||||
|
||||
For communication between clients and the Delivery Optimization cloud service: **\*.do.dsp.mp.microsoft.com**.
|
||||
|
||||
**For Delivery Optimization metadata**:
|
||||
|
||||
- *.dl.delivery.mp.microsoft.com
|
||||
- *.emdl.ws.microsoft.com
|
||||
|
||||
**For the payloads (optional)**:
|
||||
|
||||
- *.download.windowsupdate.com
|
||||
- *.windowsupdate.com
|
||||
|
||||
## Does Delivery Optimization use multicast?
|
||||
|
||||
No. It relies on the cloud service for peer discovery, resulting in a list of peers and their IP addresses. Client devices then connect to their peers to obtain download files over TCP/IP.
|
||||
|
||||
## How does Delivery Optimization deal with congestion on the router from peer-to-peer activity on the LAN?
|
||||
|
||||
Starting in Windows 10, version 1903, Delivery Optimization uses LEDBAT to relieve such congestion. For more information, see this post on the [Networking Blog](https://techcommunity.microsoft.com/t5/Networking-Blog/Windows-Transport-converges-on-two-Congestion-Providers-Cubic/ba-p/339819).
|
||||
|
||||
## How does Delivery Optimization handle VPNs?
|
||||
|
||||
Delivery Optimization attempts to identify VPNs by checking the network adapter type and details. A connection will be treated as a VPN if the adapter description contains certain keywords, such as "VPN" or "secure."
|
||||
|
||||
If the connection is identified as a VPN, Delivery Optimization will suspend uploads to other peers. However, you can allow uploads over a VPN by using the [Enable Peer Caching while the device connects via VPN](waas-delivery-optimization-reference.md#enable-peer-caching-while-the-device-connects-via-vpn) policy.
|
||||
|
||||
If you have defined a boundary group in Configuration Manager for VPN IP ranges, you can set the [DownloadMode](waas-delivery-optimization-reference.md#download-mode) policy to 0 for that boundary group, to ensure that there will be no peer-to-peer activity over the VPN. When the device is not connected using a VPN, it can still use peer-to-peer with the default of LAN.
|
||||
|
||||
With split tunneling, make sure to allow direct access to these endpoints:
|
||||
|
||||
Delivery Optimization service endpoint:
|
||||
|
||||
- `https://*.prod.do.dsp.mp.microsoft.com`
|
||||
|
||||
Delivery Optimization metadata:
|
||||
|
||||
- `http://emdl.ws.microsoft.com`
|
||||
- `http://*.dl.delivery.mp.microsoft.com`
|
||||
|
||||
Windows Update and Microsoft Store backend services and Windows Update and Microsoft Store payloads
|
||||
|
||||
- `http://*.windowsupdate.com`
|
||||
- `https://*.delivery.mp.microsoft.com`
|
||||
- `https://*.update.microsoft.com`
|
||||
- `https://tsfe.trafficshaping.dsp.mp.microsoft.com`
|
||||
|
||||
For more information about remote work if you're using Configuration Manager, see this post on the [Configuration Manager blog](https://techcommunity.microsoft.com/t5/configuration-manager-blog/managing-patch-tuesday-with-configuration-manager-in-a-remote/ba-p/1269444).
|
||||
|
||||
## How does Delivery Optimization handle networks where a public IP address is used in place of a private IP address?
|
||||
|
||||
Starting with Windows 10, version 1903 or later, Delivery Optimization no longer restricts connections between LAN peers to those using private IP addresses. If you use public IP addresses instead of private IP addresses, you can use Delivery Optimization in LAN mode.
|
||||
|
||||
> [!NOTE]
|
||||
> If you use public IP addresses instead of private in LAN mode, the bytes downloaded from or uploaded to LAN peers with public IP addresses might be reported as coming from Internet peers.
|
@ -1,15 +1,15 @@
|
||||
---
|
||||
title: Delivery Optimization reference
|
||||
ms.reviewer:
|
||||
manager: laurawi
|
||||
manager: dougeby
|
||||
description: This article provides a summary of references and descriptions for all of the Delivery Optimization settings.
|
||||
keywords: oms, operations management suite, wdav, updates, downloads, log analytics
|
||||
ms.prod: w10
|
||||
ms.mktglfcycl: deploy
|
||||
audience: itpro
|
||||
author: jaimeo
|
||||
author: carmenf
|
||||
ms.localizationpriority: medium
|
||||
ms.author: jaimeo
|
||||
ms.author: carmenf
|
||||
ms.collection: M365-modern-desktop
|
||||
ms.topic: article
|
||||
ms.custom: seo-marvel-apr2020
|
||||
@ -28,14 +28,14 @@ There are a great many details you can set in Delivery Optimization to customize
|
||||
|
||||
## Delivery Optimization options
|
||||
|
||||
You can use Group Policy or an MDM solution like Intune to configure Delivery Optimization.
|
||||
You can use Group Policy or an MDM solution like Intune to configure Delivery Optimization.
|
||||
|
||||
You will find the Delivery Optimization settings in Group Policy under **Configuration\Policies\Administrative Templates\Windows Components\Delivery Optimization**.
|
||||
In MDM, the same settings are under **.Vendor/MSFT/Policy/Config/DeliveryOptimization/**.
|
||||
|
||||
[//]: # (something about Intune UX--perhaps link to relevant Intune docs?)
|
||||
|
||||
### Summary of Delivery Optimization settings:
|
||||
### Summary of Delivery Optimization settings
|
||||
|
||||
| Group Policy setting | MDM setting | Supported from version |
|
||||
| --- | --- | --- |
|
||||
@ -70,11 +70,12 @@ In MDM, the same settings are under **.Vendor/MSFT/Policy/Config/DeliveryOptimiz
|
||||
| [Maximum Foreground Download Bandwidth (in KB/s)](#maximum-background-download-bandwidth-in-kbs) | DOMaxForegroundDownloadBandwidth | 2004 |
|
||||
| [Maximum Background Download Bandwidth (in KB/s)](#maximum-background-download-bandwidth-in-kbs) | DOMaxBackgroundDownloadBandwidth | 2004 |
|
||||
|
||||
### More detail on Delivery Optimization settings:
|
||||
### More detail on Delivery Optimization settings
|
||||
|
||||
[Group ID](#group-id), combined with Group [Download mode](#download-mode), enables administrators to create custom device groups that will share content between devices in the group.
|
||||
|
||||
Delivery Optimization uses locally cached updates. In cases where devices have ample local storage and you would like to cache more content, or if you have limited storage and would like to cache less, use the following settings to adjust the Delivery Optimization cache to suit your scenario:
|
||||
|
||||
- [Max Cache Size](#max-cache-size) and [Absolute Max Cache Size](#absolute-max-cache-size) control the amount of space the Delivery Optimization cache can use.
|
||||
- [Max Cache Age](#max-cache-age) controls the retention period for each update in the cache.
|
||||
- The system drive is the default location for the Delivery Optimization cache. [Modify Cache Drive](#modify-cache-drive) allows administrators to change that location.
|
||||
@ -85,6 +86,7 @@ Delivery Optimization uses locally cached updates. In cases where devices have a
|
||||
All cached files have to be above a set minimum size. This size is automatically set by the Delivery Optimization cloud services, but when local storage is sufficient and the network isn't strained or congested, administrators might choose to change it to obtain increased performance. You can set the minimum size of files to cache by adjusting [Minimum Peer Caching Content File Size](#minimum-peer-caching-content-file-size).
|
||||
|
||||
Additional options available that control the impact Delivery Optimization has on your network include the following:
|
||||
|
||||
- [Maximum Download Bandwidth](#maximum-download-bandwidth) and [Percentage of Maximum Download Bandwidth](#percentage-of-maximum-download-bandwidth) control the download bandwidth used by Delivery Optimization.
|
||||
- [Max Upload Bandwidth](#max-upload-bandwidth) controls the Delivery Optimization upload bandwidth usage.
|
||||
- [Monthly Upload Data Cap](#monthly-upload-data-cap) controls the amount of data a client can upload to peers each month.
|
||||
@ -99,6 +101,7 @@ Additional options available that control the impact Delivery Optimization has o
|
||||
- [Delay foreground download from http (in secs)](#delay-foreground-download-from-http-in-secs) allows you to delay the use of an HTTP source in a foreground (interactive) download that is allowed to use P2P.
|
||||
|
||||
Administrators can further customize scenarios where Delivery Optimization will be used with the following settings:
|
||||
|
||||
- [Minimum RAM (inclusive) allowed to use Peer Caching](#minimum-ram-inclusive-allowed-to-use-peer-caching) sets the minimum RAM required for peer caching to be enabled.
|
||||
- [Minimum disk size allowed to use Peer Caching](#minimum-disk-size-allowed-to-use-peer-caching) sets the minimum disk size required for peer caching to be enabled.
|
||||
- [Enable Peer Caching while the device connects via VPN](#enable-peer-caching-while-the-device-connects-via-vpn) allows clients connected through VPN to use peer caching.
|
||||
@ -111,15 +114,15 @@ Download mode dictates which download sources clients are allowed to use when do
|
||||
| Download mode option | Functionality when set |
|
||||
| --- | --- |
|
||||
| HTTP Only (0) | This setting disables peer-to-peer caching but still allows Delivery Optimization to download content over HTTP from the download's original source. This mode uses additional metadata provided by the Delivery Optimization cloud services for a peerless reliable and efficient download experience. |
|
||||
| LAN (**1 – Default**) | This default operating mode for Delivery Optimization enables peer sharing on the same network. The Delivery Optimization cloud service finds other clients that connect to the Internet using the same public IP as the target client. These clients then try to connect to other peers on the same network by using their private subnet IP.|
|
||||
| LAN (**1 – Default**) | This default operating mode for Delivery Optimization enables peer sharing on the same network. The Delivery Optimization cloud service finds other clients that connect to the Internet using the same public IP as the target client. These clients then try to connect to other peers on the same network by using their private subnet IP.|
|
||||
| Group (2) | When group mode is set, the group is automatically selected based on the device's Active Directory Domain Services (AD DS) site (Windows 10, version 1607) or the domain the device is authenticated to (Windows 10, version 1511). In group mode, peering occurs across internal subnets, between devices that belong to the same group, including devices in remote offices. You can use GroupID option to create your own custom group independently of domains and AD DS sites. Starting with Windows 10, version 1803, you can use the GroupIDSource parameter to take advantage of other method to create groups dynamically. Group download mode is the recommended option for most organizations looking to achieve the best bandwidth optimization with Delivery Optimization. |
|
||||
| Internet (3) | Enable Internet peer sources for Delivery Optimization. |
|
||||
| Simple (99) | Simple mode disables the use of Delivery Optimization cloud services completely (for offline environments). Delivery Optimization switches to this mode automatically when the Delivery Optimization cloud services are unavailable, unreachable or when the content file size is less than 10 MB. In this mode, Delivery Optimization provides a reliable download experience, with no peer-to-peer caching. |
|
||||
|Bypass (100) | Bypass Delivery Optimization and use BITS, instead. You should only select this mode if you use WSUS and prefer to use BranchCache. You do not need to set this option if you are using Configuration Manager. If you want to disable peer-to-peer functionality, it's best to set **DownloadMode** to **(0)** or **(99)**. |
|
||||
|Bypass (100) |Bypass Delivery Optimization and use BITS, instead. You should only select this mode if you use WSUS and prefer to use BranchCache. You do not need to set this option if you are using Configuration Manager. If you want to disable peer-to-peer functionality, it's best to set **DownloadMode** to **(0)** or **(99)**. |
|
||||
|
||||
> [!NOTE]
|
||||
> Starting in Windows 11, the Bypass option of Download Mode is no longer used.
|
||||
|
||||
>
|
||||
> [!NOTE]
|
||||
> When you use AAD tenant, AD Site, or AD Domain as the source of group IDs, the association of devices participating in the group should not be relied on for an authentication of identity of those devices.
|
||||
|
||||
@ -135,7 +138,9 @@ By default, peer sharing on clients using the Group download mode (option 2) is
|
||||
>This configuration is optional and not required for most implementations of Delivery Optimization.
|
||||
|
||||
### Select the source of Group IDs
|
||||
|
||||
Starting in Windows 10, version 1803, set this policy to restrict peer selection to a specific source, when using a GroupID policy. The options are:
|
||||
|
||||
- 0 = not set
|
||||
- 1 = AD Site
|
||||
- 2 = Authenticated domain SID
|
||||
@ -145,7 +150,6 @@ Starting in Windows 10, version 1803, set this policy to restrict peer selection
|
||||
|
||||
When set, the Group ID is assigned automatically from the selected source. If you set this policy, the GroupID policy will be ignored. The option set in this policy only applies to Group (2) download mode. If Group (2) isn't set as Download mode, this policy will be ignored. If you set the value to anything other than 0-5, the policy is ignored.
|
||||
|
||||
|
||||
### Minimum RAM (inclusive) allowed to use Peer Caching
|
||||
|
||||
This setting specifies the minimum RAM size in GB required to use Peer Caching. For example if the minimum set is 1 GB, then devices with 1 GB or higher available RAM will be allowed to use Peer caching. The recommended values are 1 to 4, and **the default value is 4 GB**.
|
||||
@ -157,10 +161,9 @@ This setting specifies the required minimum disk size (capacity in GB) for the d
|
||||
>[!NOTE]
|
||||
>If the [Modify Cache Drive](#modify-cache-drive) policy is set, the disk size check will apply to the new working directory specified by this policy.
|
||||
|
||||
|
||||
### Max Cache Age
|
||||
|
||||
In environments configured for Delivery Optimization, you might want to set an expiration on cached updates and Windows application installation files. If so, this setting defines the maximum number of seconds each file can be held in the Delivery Optimization cache on each Windows 10 client device. Alternatively, organizations might choose to set this value to "0" which means "unlimited" to avoid peers re-downloading content. When "Unlimited" value is set, Delivery Optimization will hold the files in the cache longer and will clean up the cache as needed (for example when the cache size exceeded the maximum space allowed). **The default value is 259,200 seconds (three days)**.
|
||||
In environments configured for Delivery Optimization, you might want to set an expiration on cached updates and Windows application installation files. If so, this setting defines the maximum number of seconds each file can be held in the Delivery Optimization cache on each Windows 10 client device. Alternatively, organizations might choose to set this value to "0" which means "unlimited" to avoid peers re-downloading content. When "Unlimited" value is set, Delivery Optimization will hold the files in the cache longer and will clean up the cache as needed (for example when the cache size exceeded the maximum space allowed). **The default value is 259,200 seconds (three days)**.
|
||||
|
||||
### Max Cache Size
|
||||
|
||||
@ -172,7 +175,7 @@ This setting specifies the maximum number of gigabytes the Delivery Optimization
|
||||
|
||||
### Minimum Peer Caching Content File Size
|
||||
|
||||
This setting specifies the minimum content file size in MB enabled to use Peer Caching. The recommended values are from 1 to 100000. **The default file size is 50MB** to participate in peering.
|
||||
This setting specifies the minimum content file size in MB enabled to use Peer Caching. The recommended values are from 1 to 100000. **The default file size is 50MB** to participate in peering.
|
||||
|
||||
### Maximum Download Bandwidth
|
||||
|
||||
@ -201,12 +204,15 @@ This setting specifies the maximum download bandwidth that Delivery Optimization
|
||||
This setting allows you to limit the number of upload bandwidth individual clients can use for Delivery Optimization. Consider this setting when clients are providing content to requesting peers on the network. This option is set in kilobytes per second (KB/s). **The default value is "0", or "unlimited"** which means Delivery Optimization dynamically optimizes for minimal usage of upload bandwidth; however it does not cap the upload bandwidth rate at a set rate.
|
||||
|
||||
### Set Business Hours to Limit Background Download Bandwidth
|
||||
|
||||
Starting in Windows 10, version 1803, specifies the maximum background download bandwidth that Delivery Optimization uses during and outside business hours across all concurrent download activities as a percentage of available download bandwidth. **By default, this policy is not set.**
|
||||
|
||||
### Set Business Hours to Limit Foreground Download Bandwidth
|
||||
|
||||
Starting in Windows 10, version 1803, specifies the maximum foreground download bandwidth that Delivery Optimization uses during and outside business hours across all concurrent download activities as a percentage of available download bandwidth. **By default, this policy is not set.**
|
||||
|
||||
### Select a method to restrict peer selection
|
||||
|
||||
Starting in Windows 10, version 1803, set this policy to restrict peer selection via selected option. In Windows 11 the 'Local Peer Discovery' option was introduced to restrict peer discovery to the local network. Currently the available options include: 0 = NAT, 1 = Subnet mask, and 2 = Local Peer Discovery. These options apply to both Download Modes LAN (1) and Group (2) and therefore means there is no peering between subnets. **The default value in Windows 11 is set to "Local Peer Discovery"**.
|
||||
|
||||
If Group mode is set, Delivery Optimization will connect to locally discovered peers that are also part of the same Group (have the same Group ID).
|
||||
@ -214,15 +220,19 @@ If Group mode is set, Delivery Optimization will connect to locally discovered p
|
||||
The Local Peer Discovery (DNS-SD) option can only be set via MDM delivered policies on Windows 11 builds. This feature can be enabled in supported Windows 10 builds by setting the `HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\DeliveryOptimization\DORestrictPeerSelectionBy` value to **2**.
|
||||
|
||||
### Delay background download from http (in secs)
|
||||
|
||||
Starting in Windows 10, version 1803, this allows you to delay the use of an HTTP source in a background download that is allowed to use peer-to-peer. The maximum value is 4294967295 seconds. **By default, this policy is not set.**
|
||||
|
||||
### Delay foreground download from http (in secs)
|
||||
|
||||
Starting in Windows 10, version 1803, allows you to delay the use of an HTTP source in a foreground (interactive) download that is allowed to use peer-to-peer. The maximum value is 4294967295 seconds. **By default, this policy is not set.**
|
||||
|
||||
### Delay Foreground Download Cache Server Fallback (in secs)
|
||||
|
||||
Starting in Windows 10, version 1903, allows you to delay the fallback from cache server to the HTTP source for foreground content download by X seconds. If you set the policy to delay foreground download from http, it will apply first (to allow downloads from peers first). **By default, this policy is not set.**
|
||||
|
||||
### Delay Background Download Cache Server Fallback (in secs)
|
||||
|
||||
Starting in Windows 10, version 1903, set this policy to delay the fallback from cache server to the HTTP source for a background content download by X seconds. If you set the policy to delay background download from http, it will apply first (to allow downloads from peers first). **By default, this policy is not set.**
|
||||
|
||||
### Minimum Background QoS
|
||||
@ -249,7 +259,7 @@ The device can download from peers while on battery regardless of this policy.
|
||||
>[!IMPORTANT]
|
||||
> **By default, devices will not upload while on battery**. To enable uploads while on battery, you need to enable this policy and set the battery value under which uploads pause.
|
||||
|
||||
### Cache Server Hostname
|
||||
### Cache Server Hostname
|
||||
|
||||
Set this policy to designate one or more Microsoft Connected Cache servers to be used by Delivery Optimization. You can set one or more FQDNs or IP Addresses that are comma-separated, for example: myhost.somerandomhost.com,myhost2.somrandomhost.com,10.10.1.7. **By default, this policy is empty.**
|
||||
|
||||
@ -259,6 +269,7 @@ Set this policy to designate one or more Microsoft Connected Cache servers to be
|
||||
### Cache Server Hostname Source
|
||||
|
||||
This policy allows you to specify how your client(s) can discover Delivery Optimization in Network Cache servers dynamically. There are two options:
|
||||
|
||||
- 1 = DHCP Option 235.
|
||||
- 2 = DHCP Option 235 Force.
|
||||
|
||||
@ -272,12 +283,11 @@ Set this policy to designate Delivery Optimization in Network Cache servers thro
|
||||
### Maximum Foreground Download Bandwidth (in KB/s)
|
||||
|
||||
Specifies the maximum foreground download bandwidth in kilobytes/second that the device can use across all concurrent download activities using Delivery Optimization.
|
||||
|
||||
**The default value of "0" means that Delivery Optimization dynamically adjusts to use the available bandwidth for downloads.**
|
||||
|
||||
**The default value of "0" means that Delivery Optimization dynamically adjusts to use the available bandwidth for downloads.**
|
||||
|
||||
### Maximum Background Download Bandwidth (in KB/s)
|
||||
|
||||
Specifies the maximum background download bandwidth in kilobytes/second that the device can use across all concurrent download activities using Delivery Optimization.
|
||||
|
||||
**The default value "0" means that Delivery Optimization dynamically adjusts to use the available bandwidth for downloads.**
|
||||
|
||||
**The default value "0" means that Delivery Optimization dynamically adjusts to use the available bandwidth for downloads.**
|
||||
|
@ -1,29 +1,38 @@
|
||||
---
|
||||
title: Set up Delivery Optimization
|
||||
ms.reviewer:
|
||||
manager: laurawi
|
||||
manager: dougeby
|
||||
description: In this article, learn how to set up Delivery Optimization.
|
||||
keywords: oms, operations management suite, wdav, updates, downloads, log analytics
|
||||
ms.prod: w10
|
||||
ms.mktglfcycl: deploy
|
||||
audience: itpro
|
||||
author: jaimeo
|
||||
author: carmenf
|
||||
ms.localizationpriority: medium
|
||||
ms.author: jaimeo
|
||||
ms.author: carmenf
|
||||
ms.collection: M365-modern-desktop
|
||||
ms.topic: article
|
||||
ms.custom: seo-marvel-apr2020
|
||||
---
|
||||
|
||||
# Set up Delivery Optimization for Windows client updates
|
||||
# Set up Delivery Optimization for Windows
|
||||
|
||||
**Applies to**
|
||||
|
||||
- Windows 10
|
||||
- Windows 10
|
||||
- Windows 11
|
||||
|
||||
> **Looking for consumer information?** See [Windows Update: FAQ](https://support.microsoft.com/help/12373/windows-update-faq)
|
||||
|
||||
## Set up Delivery Optimization
|
||||
|
||||
You can use Group Policy or an MDM solution like Intune to configure Delivery Optimization.
|
||||
|
||||
You will find the Delivery Optimization settings in Group Policy under **Computer Configuration\Administrative Templates\Windows Components\Delivery Optimization**.
|
||||
|
||||
Starting with Microsoft Intune version 1902, you can set many Delivery Optimization policies as a profile, which you can then apply to groups of devices. For more information, see [Delivery Optimization settings in Microsoft Intune](/intune/delivery-optimization-windows))
|
||||
|
||||
**Starting with Windows 10, version 1903,** you can use the Azure Active Directory (Azure AD) Tenant ID as a means to define groups. To do this set the value for DOGroupIdSource to its new maximum value of 5.
|
||||
|
||||
## Recommended Delivery Optimization settings
|
||||
|
||||
@ -37,7 +46,7 @@ Delivery Optimization offers a great many settings to fine-tune its behavior (se
|
||||
|
||||
> [!NOTE]
|
||||
> These scenarios (and the recommended settings for each) are not mutually exclusive. It's possible that your deployment might involve more than one of these scenarios, in which case you can employ the related settings in any combination as needed. In all cases, however, "download mode" is the most important one to set.
|
||||
|
||||
>
|
||||
> [!NOTE]
|
||||
> Microsoft Intune includes a profile to make it easier to set Delivery Optimization policies. For details, see [Delivery Optimization settings for Intune](/mem/intune/configuration/delivery-optimization-settings).
|
||||
|
||||
@ -54,7 +63,7 @@ Quick-reference table:
|
||||
|
||||
For this scenario, grouping devices by domain allows devices to be included in peer downloads and uploads across VLANs. **Set Download Mode to 2 - Group**. The default group is the authenticated domain or Active Directory site. If your domain-based group is too wide, or your Active Directory sites aren't aligned with your site network topology, then you should consider additional options for dynamically creating groups, for example by using the GroupIDSrc parameter.
|
||||
|
||||
To do this in Group Policy go to **Configuration\Policies\Administrative Templates\Windows Components\Delivery Optimization** and set **Download mode** to **2**.
|
||||
To do this in Group Policy go to **Computer Configuration\Administrative Templates\Windows Components\Delivery Optimization** and set **Download mode** to **2**.
|
||||
|
||||
To do this with MDM, go to **.Vendor/MSFT/Policy/Config/DeliveryOptimization/** and set DODownloadMode to 1 or 2.
|
||||
|
||||
@ -62,7 +71,7 @@ To do this with MDM, go to **.Vendor/MSFT/Policy/Config/DeliveryOptimization/**
|
||||
|
||||
The default download mode setting is **1**; this means all devices breaking out to the internet using the same public IP will be considered as a single peer group. To prevent peer-to-peer activity across groups, you should set the download mode to **2**. If you have already defined Active Directory sites per hub or branch office, then you don't need to do anything else. If you're not using Active Directory sites, you should set *RestrictPeerSelectionBy* policies to restrict the activity to the subnet or set a different source for Groups by using the GroupIDSrc parameter. See [Select a method to restrict peer selection](waas-delivery-optimization-reference.md#select-a-method-to-restrict-peer-selection).
|
||||
|
||||
To do this in Group Policy go to **Configuration\Policies\Administrative Templates\Windows Components\Delivery Optimization** and set **Download mode** to **2**.
|
||||
To do this in Group Policy go to ****Computer Configuration\Administrative Templates\Windows Components\Delivery Optimization** and set **Download mode** to **2**.
|
||||
|
||||
To do this with MDM, go to **.Vendor/MSFT/Policy/Config/DeliveryOptimization/** and set **DODownloadMode** to **2**.
|
||||
|
||||
@ -73,7 +82,7 @@ To do this with MDM, go to **.Vendor/MSFT/Policy/Config/DeliveryOptimization/**
|
||||
|
||||
If you have a mobile workforce with a great many mobile devices, set Delivery Optimization to allow uploads on battery power, while limiting the use to prevent battery drain. A setting for **DOMinBatteryPercentageAllowedToUpload** of 60% is a good starting point, though you might want to adjust it later.
|
||||
|
||||
To do this in Group Policy, go to **Configuration\Policies\Administrative Templates\Windows Components\Delivery Optimization** and set **Allow uploads while the device is on battery while under set Battery level** to 60.
|
||||
To do this in Group Policy, go to **Computer Configuration\Administrative Templates\Windows Components\Delivery Optimization** and set **Allow uploads while the device is on battery while under set Battery level** to 60.
|
||||
|
||||
To do this with MDM, go to **.Vendor/MSFT/Policy/Config/DeliveryOptimization/** and set **DOMinBatteryPercentageAllowedToUpload** to 60.
|
||||
|
||||
@ -83,7 +92,7 @@ Many devices now come with large internal drives. You can set Delivery Optimizat
|
||||
|
||||
[//]: # (default of 50 aimed at consumer)
|
||||
|
||||
To do this in Group Policy, go to **Configuration\Policies\Administrative Templates\Windows Components\Delivery Optimization** and set **Minimum Peer Caching Content File Size** to 10 (if you have more than 30 devices) or 1 (if you have more than 100 devices).
|
||||
To do this in Group Policy, go to **Computer Configuration\Administrative Templates\Windows Components\Delivery Optimization** and set **Minimum Peer Caching Content File Size** to 10 (if you have more than 30 devices) or 1 (if you have more than 100 devices).
|
||||
|
||||
To do this with MDM, go to **.Vendor/MSFT/Policy/Config/DeliveryOptimization/** and set **DOMinFileSizeToCache** to 100 (if you have more than 30 devices) or 1 (if you have more than 100 devices).
|
||||
|
||||
@ -91,13 +100,12 @@ To do this with MDM, go to **.Vendor/MSFT/Policy/Config/DeliveryOptimization/**
|
||||
|
||||
In a lab situation, you typically have a large number of devices that are plugged in and have a lot of free disk space. By increasing the content expiration interval, you can take advantage of these devices, using them as excellent upload sources in order to upload much more content over a longer period.
|
||||
|
||||
To do this in Group Policy, go to **Configuration\Policies\Administrative Templates\Windows Components\Delivery Optimization** and set **Max Cache Age** to **604800** (7 days) or more (up to 30 days).
|
||||
To do this in Group Policy, go to **Computer Configuration\Administrative Templates\Windows Components\Delivery Optimization** and set **Max Cache Age** to **604800** (7 days) or more (up to 30 days).
|
||||
|
||||
To do this with MDM, go to **.Vendor/MSFT/Policy/Config/DeliveryOptimization/** and set DOMaxCacheAge to 7 or more (up to 30 days).
|
||||
|
||||
[//]: # (material about "preferred" devices; remove MinQos/MaxCacheAge; table format?)
|
||||
|
||||
|
||||
## Monitor Delivery Optimization
|
||||
|
||||
[//]: # (How to tell if it's working? What values are reasonable; which are not? If not, which way to adjust and how? -- check PercentPeerCaching for files > minimum >= 50%)
|
||||
@ -126,22 +134,21 @@ To do this with MDM, go to **.Vendor/MSFT/Policy/Config/DeliveryOptimization/**
|
||||
| ExpireOn | The target expiration date and time for the file. |
|
||||
| Pinned | A yes/no value indicating whether an item has been "pinned" in the cache (see `setDeliveryOptmizationStatus`). |
|
||||
|
||||
|
||||
`Get-DeliveryOptimizationPerfSnap` returns a list of key performance data:
|
||||
|
||||
- Number of files downloaded
|
||||
- Number of files uploaded
|
||||
- Total bytes downloaded
|
||||
- Total bytes uploaded
|
||||
- Average transfer size (download); that is, the number bytes downloaded divided by the number of files
|
||||
- Number of files downloaded
|
||||
- Number of files uploaded
|
||||
- Total bytes downloaded
|
||||
- Total bytes uploaded
|
||||
- Average transfer size (download); that is, the number bytes downloaded divided by the number of files
|
||||
- Average transfer size (upload); the number of bytes uploaded divided by the number of files
|
||||
- Peer efficiency; same as PercentPeerCaching
|
||||
|
||||
Using the `-Verbose` option returns additional information:
|
||||
|
||||
- Bytes from peers (per type)
|
||||
- Bytes from peers (per type)
|
||||
- Bytes from CDN (the number of bytes received over HTTP)
|
||||
- Average number of peer connections per download
|
||||
- Average number of peer connections per download
|
||||
|
||||
**Starting in Windows 10, version 2004**, `Get-DeliveryOptimizationStatus` has a new option `-PeerInfo` which returns a real-time list of the connected peers.
|
||||
|
||||
@ -212,6 +219,59 @@ Log entries are written to the PowerShell pipeline as objects. To dump logs to a
|
||||
|
||||
Update Compliance provides you with information about your Delivery Optimization configuration, including the observed bandwidth savings across all devices that used peer-to-peer distribution over the past 28 days.
|
||||
|
||||
[  ](images/UC_workspace_DO_status.png#lightbox)
|
||||
[[DO status](images/UC_workspace_DO_status.png)](images/UC_workspace_DO_status.png#lightbox)
|
||||
|
||||
For details, see [Delivery Optimization in Update Compliance](update-compliance-delivery-optimization.md).
|
||||
|
||||
## Troubleshooting
|
||||
|
||||
This section summarizes common problems and some solutions to try.
|
||||
|
||||
### If you don't see any bytes from peers
|
||||
|
||||
If you don't see any bytes coming from peers the cause might be one of the following issues:
|
||||
|
||||
- Clients aren’t able to reach the Delivery Optimization cloud services.
|
||||
- The cloud service doesn’t see other peers on the network.
|
||||
- Clients aren’t able to connect to peers that are offered back from the cloud service.
|
||||
- None of the computers on the network are getting updates from peers.
|
||||
|
||||
### Clients aren't able to reach the Delivery Optimization cloud services
|
||||
|
||||
Try these steps:
|
||||
|
||||
1. Start a download of an app that is larger than 50 MB from the Store (for example "Candy Crush Saga").
|
||||
2. Run `Get-DeliveryOptimizationStatus` from an elevated PowerShell window and observe the [DownloadMode](waas-delivery-optimization-reference.md#download-mode) setting. For peering to work, DownloadMode should be 1, 2, or 3.
|
||||
3. If DownloadMode is 99, it could indicate your device is unable to reach the Delivery Optimization cloud services. Ensure that the Delivery Optimization host names are allowed access: most importantly **\*.do.dsp.mp.microsoft.com**.
|
||||
|
||||
### The cloud service doesn't see other peers on the network
|
||||
|
||||
Try these steps:
|
||||
|
||||
1. Download the same app on two different devices on the same network, waiting 10 – 15 minutes between downloads.
|
||||
2. Run `Get-DeliveryOptimizationStatus` from an elevated PowerShell window and ensure that **[DownloadMode](waas-delivery-optimization-reference.md#download-mode)** is 1 or 2 on both devices.
|
||||
3. Run `Get-DeliveryOptimizationPerfSnap` from an elevated PowerShell window on the second device. The **NumberOfPeers** field should be non-zero.
|
||||
4. If the number of peers is zero and **[DownloadMode](waas-delivery-optimization-reference.md#download-mode)** is 1, ensure that both devices are using the same public IP address to reach the internet (you can easily do this by opening a browser window and do a search for “what is my IP”). In the case where devices are not reporting the same public IP address, configure **[DownloadMode](waas-delivery-optimization-reference.md#download-mode)** to 2 (Group) and use a custom **[GroupID (Guid)](waas-delivery-optimization-reference.md#group-id)**, to fix this.
|
||||
|
||||
> [!NOTE]
|
||||
> Starting in Windows 10, version 2004, `Get-DeliveryOptimizationStatus` has a new option `-PeerInfo` which returns a real-time list of the connected peers.
|
||||
|
||||
### Clients aren't able to connect to peers offered by the cloud service
|
||||
|
||||
Try a Telnet test between two devices on the network to ensure they can connect using port 7680. Follow these steps:
|
||||
|
||||
1. Install Telnet by running `dism /online /Enable-Feature /FeatureName:TelnetClient` from an elevated command prompt.
|
||||
2. Run the test. For example, if you are on device with IP 192.168.8.12 and you are trying to test the connection to 192.168.9.17 run `telnet 192.168.9.17 7680` (the syntax is *telnet [destination IP] [port]*. You will either see a connection error or a blinking cursor like this /_. The blinking cursor means success.
|
||||
|
||||
> [!NOTE]
|
||||
> You can also use [Test-NetConnection](/powershell/module/nettcpip/test-netconnection) instead of Telnet to run the test.
|
||||
> **Test-NetConnection -ComputerName 192.168.9.17 -Port 7680**
|
||||
|
||||
### None of the computers on the network are getting updates from peers
|
||||
|
||||
Check Delivery Optimization settings that could limit participation in peer caching. Check whether the following settings in assigned group policies, local group policies, or MDM policies are too restrictive:
|
||||
|
||||
- Minimum RAM (inclusive) allowed to use peer caching
|
||||
- Minimum disk size allowed to use peer caching
|
||||
- Enable peer caching while the device connects using VPN.
|
||||
- Allow uploads when the device is on battery while under the set battery level
|
||||
|
@ -1,14 +1,14 @@
|
||||
---
|
||||
title: Delivery Optimization for Windows client updates
|
||||
title: What is Delivery Optimization?
|
||||
manager: dougeby
|
||||
description: This article provides information about Delivery Optimization, a peer-to-peer distribution method in Windows 10.
|
||||
description: This article provides information about Delivery Optimization, a peer-to-peer distribution method in Windows 10 and Windows 11.
|
||||
keywords: oms, operations management suite, wdav, updates, downloads, log analytics
|
||||
ms.prod: w10
|
||||
ms.mktglfcycl: deploy
|
||||
audience: itpro
|
||||
author: jaimeo
|
||||
author: carmenf
|
||||
ms.localizationpriority: medium
|
||||
ms.author: jaimeo
|
||||
ms.author: carmenf
|
||||
ms.collection:
|
||||
- M365-modern-desktop
|
||||
- m365initiative-coredeploy
|
||||
@ -17,7 +17,7 @@ ms.topic: article
|
||||
ms.custom: seo-marvel-apr2020
|
||||
---
|
||||
|
||||
# Delivery Optimization for Windows client updates
|
||||
# What is Delivery Optimization?
|
||||
|
||||
**Applies to**
|
||||
|
||||
@ -33,7 +33,7 @@ Windows updates, upgrades, and applications can contain packages with large file
|
||||
For information about setting up Delivery Optimization, including tips for the best settings in different scenarios, see [Set up Delivery Optimization](waas-delivery-optimization-setup.md). For a comprehensive list of all Delivery Optimization settings, see [Delivery Optimization reference](waas-delivery-optimization-reference.md).
|
||||
|
||||
>[!NOTE]
|
||||
>WSUS can also use [BranchCache](waas-branchcache.md) for content sharing and caching. If Delivery Optimization is enabled on devices that use BranchCache, Delivery Optimization will be used instead.
|
||||
>WSUS can also use [BranchCache](waas-branchcache.md) for content sharing and caching. If Delivery Optimization is enabled on devices that use BranchCache, Delivery Optimization will be used instead.
|
||||
|
||||
## New in Windows 10, version 20H2 and Windows 11
|
||||
|
||||
@ -49,7 +49,7 @@ For information about setting up Delivery Optimization, including tips for the b
|
||||
|
||||
The following table lists the minimum Windows 10 version that supports Delivery Optimization:
|
||||
|
||||
| Device type | Minimum Windows version
|
||||
| Device type | Minimum Windows version
|
||||
|------------------|---------------|
|
||||
| Computers running Windows 10 | Win 10 1511 |
|
||||
| Computers running Server Core installations of Windows Server | Windows Server 2019 |
|
||||
@ -90,149 +90,26 @@ The following table lists the minimum Windows 10 version that supports Delivery
|
||||
> [!NOTE]
|
||||
> Starting with Configuration Manager version 1910, you can use Delivery Optimization for the distribution of all Windows update content for clients running Windows 10 version 1709 or newer, not just express installation files. For more, see [Delivery Optimization starting in version 1910](/mem/configmgr/sum/deploy-use/optimize-windows-10-update-delivery#bkmk_DO-1910).
|
||||
|
||||
In Windows client Enterprise, Professional, and Education editions, Delivery Optimization is enabled by default for peer-to-peer sharing on the local network (NAT). Specifically, all of the devices must be behind the same NAT (which includes either Ethernet or WiFi), but you can configure it differently in Group Policy and mobile device management (MDM) solutions such as Microsoft Intune.
|
||||
|
||||
For more information, see "Download mode" in [Delivery optimization reference](waas-delivery-optimization-reference.md).
|
||||
|
||||
## Set up Delivery Optimization
|
||||
|
||||
See [Set up Delivery Optimization](waas-delivery-optimization-setup.md) for suggested values for many common scenarios.
|
||||
|
||||
You can use Group Policy or an MDM solution like Intune to configure Delivery Optimization.
|
||||
|
||||
You will find the Delivery Optimization settings in Group Policy under **Configuration\Policies\Administrative Templates\Windows Components\Delivery Optimization**.
|
||||
In MDM, the same settings are under **.Vendor/MSFT/Policy/Config/DeliveryOptimization/**.
|
||||
|
||||
Starting with Microsoft Intune version 1902, you can set many Delivery Optimization policies as a profile, which you can then apply to groups of devices. For more information, see [Delivery Optimization settings in Microsoft Intune](/intune/delivery-optimization-windows))
|
||||
|
||||
**Starting with Windows 10, version 1903,** you can use the Azure Active Directory (Azure AD) Tenant ID as a means to define groups. To do this set the value for DOGroupIdSource to its new maximum value of 5.
|
||||
|
||||
## Reference
|
||||
|
||||
For complete list of every possible Delivery Optimization setting, see [Delivery Optimization reference](waas-delivery-optimization-reference.md).
|
||||
In Windows client Enterprise, Professional, and Education editions, Delivery Optimization is enabled by default for peer-to-peer sharing on the local network (NAT). Specifically, all of the devices must be behind the same NAT (which includes either Ethernet or WiFi), but you can configure it differently in Group Policy and mobile device management (MDM) solutions such as Microsoft Intune. For more information on [Download mode](waas-delivery-optimization-reference.md#download-mode) options.
|
||||
|
||||
## How Microsoft uses Delivery Optimization
|
||||
|
||||
At Microsoft, to help ensure that ongoing deployments weren't affecting our network and taking away bandwidth for other services, Microsoft IT used a couple of different bandwidth management strategies. Delivery Optimization, peer-to-peer caching enabled through Group Policy, was piloted and then deployed to all managed devices using Group Policy. Based on recommendations from the Delivery Optimization team, we used the "group" configuration to limit sharing of content to only the devices that are members of the same Active Directory domain. The content is cached for 24 hours. More than 76 percent of content came from peer devices versus the Internet.
|
||||
|
||||
For more information, check out the [Adopting Windows as a Service at Microsoft](https://www.microsoft.com/itshowcase/Article/Content/851/Adopting-Windows-as-a-service-at-Microsoft) technical case study.
|
||||
|
||||
## Frequently asked questions
|
||||
## Using a proxy with Delivery Optimization
|
||||
|
||||
#### Does Delivery Optimization work with WSUS?
|
||||
Yes. Devices will obtain the update payloads from the WSUS server, but must also have an internet connection as they communicate with the Delivery Optimization cloud service for coordination.
|
||||
If a proxy is being used in your environment, see [Using a proxy with Delivery Optimization](delivery-optimization-proxy.md) to understand the proxy settings needed to properly using Delivery Optimization.
|
||||
|
||||
#### Which ports does Delivery Optimization use?
|
||||
Delivery Optimization listens on port 7680 for requests from other peers by using TCP/IP. The service will register and open this port on the device, but you might need to set this port to accept inbound traffic through your firewall yourself. If you don't allow inbound traffic over port 7680, you can't use the peer-to-peer functionality of Delivery Optimization. However, devices can still successfully download by using HTTP or HTTPS traffic over port 80 (such as for default Windows Update data).
|
||||
## Delivery Optimization client-service communication explained
|
||||
|
||||
If you set up Delivery Optimization to create peer groups that include devices across NATs (or any form of internal subnet that uses gateways or firewalls between subnets), it will use Teredo. For this to work, you must allow inbound TCP/IP traffic over port 3544. Look for a "NAT traversal" setting in your firewall to set this up.
|
||||
To gain a deeper understanding of the Delivery Optimization client-service communication workflow, see [Delivery Optimization client-service communication explained](delivery-optimization-workflow.md)
|
||||
|
||||
Delivery Optimization also communicates with its cloud service by using HTTP/HTTPS over port 80.
|
||||
## Set up Delivery Optimization for Windows
|
||||
|
||||
#### What are the requirements if I use a proxy?
|
||||
For Delivery Optimization to successfully use the proxy, you should set up the proxy by using Windows proxy settings or Internet Explorer proxy settings. For details see [Using a proxy with Delivery Optimization](./delivery-optimization-proxy.md). Most content downloaded with Delivery Optimization uses byte range requests. Make sure your proxy allows byte range requests. For more information, see [Proxy requirements for Windows Update](/windows/deployment/update/windows-update-troubleshooting.md).
|
||||
[Learn more](waas-delivery-optimization-setup.md) about the Delivery Optimization settings to ensure proper set up in your environment.
|
||||
|
||||
#### What hostnames should I allow through my firewall to support Delivery Optimization?
|
||||
## Delivery Optimization reference
|
||||
|
||||
For communication between clients and the Delivery Optimization cloud service: **\*.do.dsp.mp.microsoft.com**.
|
||||
|
||||
**For Delivery Optimization metadata**:
|
||||
|
||||
- *.dl.delivery.mp.microsoft.com
|
||||
- *.emdl.ws.microsoft.com
|
||||
|
||||
**For the payloads (optional)**:
|
||||
|
||||
- *.download.windowsupdate.com
|
||||
- *.windowsupdate.com
|
||||
|
||||
#### Does Delivery Optimization use multicast?
|
||||
No. It relies on the cloud service for peer discovery, resulting in a list of peers and their IP addresses. Client devices then connect to their peers to obtain download files over TCP/IP.
|
||||
|
||||
#### How does Delivery Optimization deal with congestion on the router from peer-to-peer activity on the LAN?
|
||||
Starting in Windows 10, version 1903, Delivery Optimization uses LEDBAT to relieve such congestion. For more details, see this post on the [Networking Blog](https://techcommunity.microsoft.com/t5/Networking-Blog/Windows-Transport-converges-on-two-Congestion-Providers-Cubic/ba-p/339819).
|
||||
|
||||
#### How does Delivery Optimization handle VPNs?
|
||||
Delivery Optimization attempts to identify VPNs by checking the network adapter type and details and will treat the connection as a VPN if the adapter description contains certain keywords, such as "VPN" or "secure."
|
||||
|
||||
If the connection is identified as a VPN, Delivery Optimization will suspend uploads to other peers. However, you can allow uploads over a VPN by using the [Enable Peer Caching while the device connects via VPN](waas-delivery-optimization-reference.md#enable-peer-caching-while-the-device-connects-via-vpn) policy.
|
||||
|
||||
If you have defined a boundary group in Configuration Manager for VPN IP ranges, you can set the [DownloadMode](waas-delivery-optimization-reference.md#download-mode) policy to 0 for that boundary group to ensure that there will be no peer-to-peer activity over the VPN. When the device is not connected using a VPN, it can still use peer-to-peer with the default of LAN.
|
||||
|
||||
With split tunneling, make sure to allow direct access to these endpoints:
|
||||
|
||||
Delivery Optimization service endpoint:
|
||||
- `https://*.prod.do.dsp.mp.microsoft.com`
|
||||
|
||||
Delivery Optimization metadata:
|
||||
- `http://emdl.ws.microsoft.com`
|
||||
- `http://*.dl.delivery.mp.microsoft.com`
|
||||
|
||||
Windows Update and Microsoft Store backend services and Windows Update and Microsoft Store payloads
|
||||
|
||||
- `http://*.windowsupdate.com`
|
||||
- `https://*.delivery.mp.microsoft.com`
|
||||
- `https://*.update.microsoft.com`
|
||||
- `https://tsfe.trafficshaping.dsp.mp.microsoft.com`
|
||||
|
||||
For more information about remote work if you're using Configuration Manager, see this post on the [Configuration Manager blog](https://techcommunity.microsoft.com/t5/configuration-manager-blog/managing-patch-tuesday-with-configuration-manager-in-a-remote/ba-p/1269444).
|
||||
|
||||
|
||||
#### How does Delivery Optimization handle networks where a public IP address is used in place of a private IP address?
|
||||
Starting with Windows 10, version 1903 or later, Delivery Optimization no longer restricts connections between LAN peers to those using private IP addresses. If you use public IP addresses instead of private IP addresses, you can use Delivery Optimization in LAN mode.
|
||||
|
||||
> [!NOTE]
|
||||
> If you use public IP addresses instead of private in LAN mode, the bytes downloaded from or uploaded to LAN peers with public IP addresses might be reported as coming from Internet peers.
|
||||
|
||||
|
||||
## Troubleshooting
|
||||
|
||||
This section summarizes common problems and some solutions to try.
|
||||
|
||||
### If you don't see any bytes from peers
|
||||
|
||||
If you don't see any bytes coming from peers the cause might be one of the following issues:
|
||||
|
||||
- Clients aren’t able to reach the Delivery Optimization cloud services.
|
||||
- The cloud service doesn’t see other peers on the network.
|
||||
- Clients aren’t able to connect to peers that are offered back from the cloud service.
|
||||
- None of the computers on the network are getting updates from peers.
|
||||
|
||||
### Clients aren't able to reach the Delivery Optimization cloud services.
|
||||
|
||||
Try these steps:
|
||||
|
||||
1. Start a download of an app that is larger than 50 MB from the Store (for example "Candy Crush Saga").
|
||||
2. Run `Get-DeliveryOptimizationStatus` from an elevated PowerShell window and observe the [DownloadMode](waas-delivery-optimization-reference.md#download-mode) setting. For peering to work, DownloadMode should be 1, 2, or 3.
|
||||
3. If DownloadMode is 99, it could indicate your device is unable to reach the Delivery Optimization cloud services. Ensure that the Delivery Optimization host names are allowed access: most importantly **\*.do.dsp.mp.microsoft.com**.
|
||||
|
||||
### The cloud service doesn't see other peers on the network.
|
||||
|
||||
Try these steps:
|
||||
|
||||
1. Download the same app on two different devices on the same network, waiting 10 – 15 minutes between downloads.
|
||||
2. Run `Get-DeliveryOptimizationStatus` from an elevated PowerShell window and ensure that **[DownloadMode](waas-delivery-optimization-reference.md#download-mode)** is 1 or 2 on both devices.
|
||||
3. Run `Get-DeliveryOptimizationPerfSnap` from an elevated PowerShell window on the second device. The **NumberOfPeers** field should be non-zero.
|
||||
4. If the number of peers is zero and **[DownloadMode](waas-delivery-optimization-reference.md#download-mode)** is 1, ensure that both devices are using the same public IP address to reach the internet (you can easily do this by opening a browser window and do a search for “what is my IP”). In the case where devices are not reporting the same public IP address, configure **[DownloadMode](waas-delivery-optimization-reference.md#download-mode)** to 2 (Group) and use a custom **[GroupID (Guid)](waas-delivery-optimization-reference.md#group-id)**, to fix this.
|
||||
|
||||
> [!NOTE]
|
||||
> Starting in Windows 10, version 2004, `Get-DeliveryOptimizationStatus` has a new option `-PeerInfo` which returns a real-time list of the connected peers.
|
||||
|
||||
### Clients aren't able to connect to peers offered by the cloud service
|
||||
|
||||
Try a Telnet test between two devices on the network to ensure they can connect using port 7680. Follow these steps:
|
||||
|
||||
1. Install Telnet by running `dism /online /Enable-Feature /FeatureName:TelnetClient` from an elevated command prompt.
|
||||
2. Run the test. For example, if you are on device with IP 192.168.8.12 and you are trying to test the connection to 192.168.9.17 run `telnet 192.168.9.17 7680` (the syntax is *telnet [destination IP] [port]*. You will either see a connection error or a blinking cursor like this /_. The blinking cursor means success.
|
||||
|
||||
> [!NOTE]
|
||||
> You can also use [Test-NetConnection](/powershell/module/nettcpip/test-netconnection) instead of Telnet to run the test.
|
||||
> **Test-NetConnection -ComputerName 192.168.9.17 -Port 7680**
|
||||
|
||||
### None of the computers on the network are getting updates from peers
|
||||
|
||||
Check Delivery Optimization settings that could limit participation in peer caching. Check whether the following settings in assigned group policies, local group policies, or MDM policies are too restrictive:
|
||||
|
||||
- Minimum RAM (inclusive) allowed to use peer caching
|
||||
- Minimum disk size allowed to use peer caching
|
||||
- Enable peer caching while the device connects using VPN.
|
||||
- Allow uploads when the device is on battery while under the set battery level
|
||||
For a complete list of Delivery Optimization settings, see [Delivery Optimization reference](waas-delivery-optimization-reference.md).
|
||||
|
58
windows/deployment/update/waas-microsoft-connected-cache.md
Normal file
58
windows/deployment/update/waas-microsoft-connected-cache.md
Normal file
@ -0,0 +1,58 @@
|
||||
---
|
||||
title: What is Microsoft Connected Cache?
|
||||
manager: dougeby
|
||||
description: This article provides information about Microsoft Connected Cache, a software-only caching solution.
|
||||
keywords: oms, operations management suite, wdav, updates, downloads, log analytics
|
||||
ms.prod: w10
|
||||
ms.mktglfcycl: deploy
|
||||
audience: itpro
|
||||
author: carmenf
|
||||
ms.localizationpriority: medium
|
||||
ms.author: carmenf
|
||||
ms.collection:
|
||||
- M365-modern-desktop
|
||||
- m365initiative-coredeploy
|
||||
- highpri
|
||||
ms.topic: article
|
||||
ms.custom: seo-marvel-apr2020
|
||||
---
|
||||
|
||||
# What is Microsoft Connected Cache?
|
||||
|
||||
**Applies to**
|
||||
|
||||
- Windows 10
|
||||
- Windows 11
|
||||
|
||||
Microsoft Connected Cache (MCC) preview is a software-only caching solution that delivers Microsoft content within Enterprise networks. MCC can be deployed to as many bare-metal servers or VMs as needed, and is managed from a cloud portal. Cache nodes are created in the cloud portal and are configured by applying the client policy using management tools such as Intune.
|
||||
|
||||
Microsoft Connected Cache is a hybrid (mix of on-prem and cloud resources) SaaS solution built as an Azure IoT Edge module and Docker compatible Linux container deployed to your Windows devices. The Delivery Optimization team chose IoT Edge for Linux on Windows (EFLOW) as a secure, reliable container management infrastructure. EFLOW is a Linux virtual machine, based on Microsoft's first party CBL-Mariner operating system. It’s built with the IoT Edge runtime and validated as a tier 1 supported environment for IoT Edge workloads. Microsoft Connected Cache will be a Linux IoT Edge module running on the Windows Host OS.
|
||||
|
||||
Even though your Microsoft Connected Cache scenario is not related to IoT, Azure IoT Edge is used as a more generic Linux container deployment and management infrastructure. The Azure IoT Edge runtime sits on your designated MCC device and performs management and communication operations. The runtime performs several functions important to manage Microsoft Connected Cache on your edge device:
|
||||
|
||||
1. Installs and updates Microsoft Connected Cache on your edge device.
|
||||
2. Maintains Azure IoT Edge security standards on your edge device.
|
||||
3. Ensures that Microsoft Connected Cache is always running.
|
||||
4. Reports Microsoft Connected Cache health and usage to the cloud for remote monitoring.
|
||||
|
||||
To deploy a functional Microsoft Connected Cache to your device, you must obtain the necessary keys to provision the Connected Cache instance that communicates with Delivery Optimization services, and enable the device to cache and deliver content. The architecture of Microsoft Connected Cache is described below.
|
||||
|
||||
For more details information on Azure IoT Edge, please see the Azure IoT Edge [documentation](/azure/iot-edge/about-iot-edge).
|
||||
|
||||
## How Microsoft Connected Cache Works
|
||||
|
||||
1. The Azure Management Portal is used to create Microsoft Connected Cache nodes.
|
||||
2. The Microsoft Connected Cache container is deployed and provisioned to the server using the installer provided in the portal.
|
||||
3. Client policy is set in your management solution to point to the IP address or FQDN of the cache server.
|
||||
4. Microsoft end-user devices make range requests for content from the Microsoft Connected Cache node.
|
||||
5. The Microsoft Connected Cache node pulls content from the CDN, seeds its local cache stored on disk, and delivers the content to the client.
|
||||
6. Subsequent requests from end-user devices for content will now come from cache.
|
||||
7. If the Microsoft Connected Cache node is unavailable, the client will pull content from CDN to ensure uninterrupted service for your subscribers.
|
||||
|
||||
See the following diagram.
|
||||
|
||||

|
||||
|
||||
## Also see
|
||||
|
||||
[Introducing Microsoft Connected Cache](https://techcommunity.microsoft.com/t5/windows-it-pro-blog/introducing-microsoft-connected-cache-microsoft-s-cloud-managed/ba-p/963898)
|
@ -87,17 +87,51 @@ Sign-in to computer running Azure AD Connect with access equivalent to _local ad
|
||||
|
||||
### Verify the onPremisesDistinguishedName attribute is synchronized
|
||||
|
||||
The easiest way to verify the onPremisesDistingushedNamne attribute is synchronized is to use Azure AD Graph Explorer.
|
||||
The easiest way to verify that the onPremisesDistingushedNamne attribute is synchronized is to use the Graph Explorer for Microsoft Graph.
|
||||
|
||||
1. Open a web browser and navigate to https://graphexplorer.azurewebsites.net/
|
||||
1. Open a web browser and navigate to [Graph Explorer](https://developer.microsoft.com/graph/graph-explorer).
|
||||
|
||||
2. Click **Login** and provide Azure credentials
|
||||
2. Select **Sign in to Graph Explorer** and provide Azure credentials.
|
||||
|
||||
3. In the Azure AD Graph Explorer URL, type https://graph.windows.net/myorganization/users/[userid], where **[userid]** is the user principal name of user in Azure Active Directory. Click **Go**
|
||||
> [!NOTE]
|
||||
> To successfully query the Graph API, adequate [permissions](/graph/api/user-get?view=graph-rest-1.0&tabs=http#permissions) must be granted.
|
||||
|
||||
4. In the returned results, review the JSON data for the **onPremisesDistinguishedName** attribute. Ensure the attribute has a value and the value is accurate for the given user.
|
||||
3. Select **Modify permissions (Preview)**. Scroll down and locate **User.Read.All** (or any other required permission) and select **Consent**. You will now be prompted for delegated permissions consent.
|
||||
|
||||

|
||||
4. In the Graph Explorer URL, enter https://graph.microsoft.com/v1.0/users/[userid]?$select=displayName,userPrincipalName,onPremisesDistinguishedName, where **[userid]** is the user principal name of a user in Azure Active Directory. Select **Run query**.
|
||||
|
||||
> [!NOTE]
|
||||
> Because the v1.0 endpoint of the Graph API only provides a limited set of parameters, we will use the $select [Optional OData query parameter](/graph/api/user-get?view=graph-rest-1.0&tabs=http#optional-query-parameters). For convenience, it is possible to switch the API version selector from **v1.0** to **beta** before performing the query. This will provide all available user information, but remember, **beta** endpoint queries should not be used in production scenarios.
|
||||
|
||||
#### Request
|
||||
|
||||
<!-- {
|
||||
"blockType": "request",
|
||||
"name": "get_user_select"
|
||||
} -->
|
||||
```msgraph-interactive
|
||||
GET https://graph.microsoft.com/v1.0/users/{id | userPrincipalName}?$select=displayName,userPrincipalName,onPremisesDistinguishedName
|
||||
```
|
||||
|
||||
5. In the returned results, review the JSON data for the **onPremisesDistinguishedName** attribute. Ensure the attribute has a value and that the value is accurate for the given user. If the **onPremisesDistinguishedName** attribute is not synchronized the value will be **null**.
|
||||
|
||||
#### Response
|
||||
<!-- {
|
||||
"blockType": "response",
|
||||
"truncated": true,
|
||||
"@odata.type": "microsoft.graph.user"
|
||||
} -->
|
||||
```http
|
||||
HTTP/1.1 200 OK
|
||||
Content-type: application/json
|
||||
|
||||
{
|
||||
"@odata.context": "https://graph.microsoft.com/v1.0/$metadata#users(displayName,userPrincipalName,onPremisesDistinguishedName)/$entity",
|
||||
"displayName": "Nestor Wilke",
|
||||
"userPrincipalName": "NestorW@contoso.com",
|
||||
"onPremisesDistinguishedName" : "CN=Nestor Wilke,OU=Operations,DC=contoso,DC=com"
|
||||
}
|
||||
```
|
||||
|
||||
## Prepare the Network Device Enrollment Services (NDES) Service Account
|
||||
|
||||
|
@ -55,7 +55,7 @@ Ea Value Length: 7e
|
||||
|
||||
## Enabling managed installer logging events
|
||||
|
||||
Refer to [Understanding Application Control Events](event-id-explanations.md#optional-intelligent-security-graph-isg-or-managed-installer-mi-diagnostic-events) for information on enabling optional managed installer diagnostic events.
|
||||
Refer to [Understanding Application Control Events](event-id-explanations.md#diagnostic-events-for-intelligent-security-graph-isg-and-managed-installer-mi) for information on enabling optional managed installer diagnostic events.
|
||||
|
||||
## Deploying the Managed Installer rule collection
|
||||
|
||||
|
@ -20,21 +20,22 @@ ms.technology: windows-sec
|
||||
|
||||
# Guidance on Creating WDAC Deny Policies
|
||||
|
||||
With Windows Defender Application Control (WDAC), you can create application control policies to explicitly deny specific drivers and applications, as well as signatures and certificates and file paths.
|
||||
With Windows Defender Application Control (WDAC), you can create policies to explicitly deny specific drivers and applications.
|
||||
|
||||
In this article we explain:
|
||||
|
||||
Topics this article will be discussing are:
|
||||
1. File Rule Precedence Order
|
||||
2. Adding Allow Rules
|
||||
3. Singe Policy Considerations
|
||||
4. Multiple Policy Considerations
|
||||
5. Best Practices
|
||||
6. Tutorial/Walkthrough
|
||||
6. Tutorial
|
||||
|
||||
## File Rule Precedence Order
|
||||
|
||||
To create effective WDAC deny policies, it is crucial to understand how WDAC parses the policy. The WDAC engine evaluates files against the policy in the following order.
|
||||
To create effective WDAC deny policies, it's crucial to understand how WDAC parses the policy. The WDAC engine evaluates files against the policy in the following order.
|
||||
|
||||
1. Explicit deny rules - if there is an explicit deny rule, do not process the rest of the rules; the file is untrusted.
|
||||
1. Explicit deny rules - if any explicit deny rule exists for a file, it will not run even if other rules are created to try to allow it. Deny rules can use any [rule level](select-types-of-rules-to-create.md#windows-defender-application-control-file-rule-levels). Use the most specific rule level practical when creating deny rules to avoid blocking more than you intend.
|
||||
|
||||
2. Explicit allow rules.
|
||||
|
||||
@ -42,12 +43,11 @@ To create effective WDAC deny policies, it is crucial to understand how WDAC par
|
||||
|
||||
4. Lastly, WDAC will call the Intelligent Security Graph (ISG) to get reputation on file, if the policy has support for the ISG.
|
||||
|
||||
Explicit allow and deny rules encompass rules at any level (for example hash rules, signer rules path rules, attribute rules, or package family name rules). If there is an explicit deny rule, WDAC does not process any other rules, meaning a deny rule always takes precedence in the case where a deny and allow rule would be at odds.
|
||||
5. If no rule exists for the file and it's not allowed based on ISG or MI, then the file is blocked implicitly.
|
||||
|
||||
## Interaction with Existing Policies
|
||||
### Adding Allow Rules
|
||||
|
||||
In the scenario where there is not an explicit allow rule, there is not a managed installer or ISG EA and ISG is not configured, WDAC will block the file as there is nothing in the policy vouching for trust of the file.
|
||||
### Adding Allow Rules
|
||||
|
||||
If this deny policy is the only policy on the device, the following rule(s) need to be added to the policy in addition to the deny/block rules to trust for the driver files outside of the intended blocklisted ones:
|
||||
|
||||
@ -67,10 +67,11 @@ If this deny policy is the only policy on the device, the following rule(s) need
|
||||
```
|
||||
|
||||
If the policy enables user mode code integrity via the ***Enabled:UMCI*** rule-option, the following section needs to be added to the policy in addition to the deny/block rules to trust for the driver and user mode files outside of the intended blocklisted ones:
|
||||
|
||||
```xml
|
||||
<FileRules>
|
||||
<Allow ID="ID_ALLOW_A_1" FriendlyName="Allow Kernel Drivers" FileName="*" />
|
||||
<Allow ID="ID_ALLOW_A_2" FriendlyName="Allow User mode components" FileName="*" />
|
||||
<Allow ID="ID_ALLOW_A_1" FriendlyName="Allow Kernel Drivers" FileName="*" />
|
||||
<Allow ID="ID_ALLOW_A_2" FriendlyName="Allow User mode components" FileName="*" />
|
||||
</FileRules>
|
||||
<SigningScenarios>
|
||||
<SigningScenario Value="131" ID="ID_SIGNINGSCENARIO_DRIVERS_1" FriendlyName="Kernel Mode Signing Scenario">
|
||||
@ -89,8 +90,10 @@ If the policy enables user mode code integrity via the ***Enabled:UMCI*** rule-o
|
||||
</SigningScenario>
|
||||
</SigningScenarios>
|
||||
```
|
||||
|
||||
## Single Policy Considerations
|
||||
If the set of deny rules is to be added into an existing policy with allow rules, then the above Allow All rules should not be added to the policy. Instead, the deny policy should be merged with the existing WDAC policy via the [WDAC Wizard](wdac-wizard-merging-policies.md) or using the following PowerShell command:
|
||||
|
||||
If the set of deny rules is to be added into an existing policy with allow rules, then the above Allow All rules shouldn't be added to the policy. Instead, the deny policy should be merged with the existing WDAC policy via the [WDAC Wizard](wdac-wizard-merging-policies.md) or using the following PowerShell command:
|
||||
|
||||
```PowerShell
|
||||
$DenyPolicy = <path_to_deny_policy>
|
||||
@ -99,50 +102,56 @@ Merge-CIPolicy -PolicyPaths $ DenyPolicy, $ExistingPolicy -OutputFilePath $Exist
|
||||
```
|
||||
|
||||
## Multiple Policy Considerations
|
||||
If you are currently using [multiple policies](deploy-multiple-windows-defender-application-control-policies.md) on a device, there are two options for integrating the blocklist into your policy set.
|
||||
|
||||
(Recommended) The first option is to keep the blocklist as its own policy isolated from your allow policies as it is easier to manage. Since applications need to be [allowed by both WDAC policies to run on the device](deploy-multiple-windows-defender-application-control-policies.md#base-and-supplemental-policy-interaction), you will need to add the Allow All rule(s) to your deny policy. This will not override the set of applications allowed by WDAC illustrated by the following example:
|
||||
If you're currently using [multiple policies](deploy-multiple-windows-defender-application-control-policies.md) on a device, there are two options for integrating the blocklist into your policy set.
|
||||
|
||||
Policy 1 is an allowlist of Windows and Microsoft-signed applications. Policy 2 is our new deny policy, which blocks MaliciousApp.exe with the Allow All rules. MaliciousApp.exe will be blocked since there is an explicit block rule in Policy 2. Windows and Microsoft applications will be allowed since there is an explicit allow rule in Policy 1 and Policy 2 (due to the Allow All rules). All other applications, if not Windows and Microsoft signed, for example, ExampleApp.exe, will not be allowed as this application is only trusted by Policy 2 (due to the Allow All rules) and not Policy 1.
|
||||
(Recommended) The first option is to keep the blocklist as its own policy isolated from your allow policies as it is easier to manage. Since applications need to be [allowed by both WDAC policies to run on the device](deploy-multiple-windows-defender-application-control-policies.md#base-and-supplemental-policy-interaction), you'll need to add the Allow All rule(s) to your deny policy. Doing so won't override the set of applications allowed by WDAC illustrated by the following example:
|
||||
|
||||
Policy 1 is an allowlist of Windows and Microsoft-signed applications. Policy 2 is our new deny policy, which blocks MaliciousApp.exe with the Allow All rules. MaliciousApp.exe will be blocked since there's an explicit block rule in Policy 2. Windows and Microsoft applications will be allowed since there's an explicit allow rule in Policy 1 and Policy 2 (due to the Allow All rules). All other applications, if not Windows and Microsoft signed, for example, ExampleApp.exe, won't be allowed as this application is only trusted by Policy 2 (due to the Allow All rules) and not Policy 1.
|
||||
|
||||
The second option involves merging the blocklist with your existing WDAC policy, regardless if the policy is an allowlist policy and contains allow and/or deny rules.
|
||||
|
||||
## Best Practices
|
||||
|
||||
1. **Starting with Audit Mode Policies** - as with all new policies, we recommend rolling out your new deny policy in Audit Mode and monitoring the [3077 block events](event-id-explanations.md#optional-intelligent-security-graph-isg-or-managed-installer-mi-diagnostic-events) to ensure only the applications you intended to block are being blocked. More information on monitoring block events via the Event Viewer logs and Advanced Hunting: [Managing and troubleshooting Windows Defender Application Control policies](windows-defender-application-control-operational-guide.md)
|
||||
|
||||
2. **Recommended Deny Rules Types** - signer and file attribute rules are recommended from a security, manageability, and performance perspective. Hash rules should only be utilized where otherwise impossible. The hash of an application is updated for every new version released by the publisher, which quickly becomes impractical to manage and protect against new threats where the attacker is quickly iterating on the payload. Additionally, WDAC has optimized parsing of hash rules, but devices may see performance impacts at runtime evaluation when policies have tens of thousands or more hash rules.
|
||||
1. **Starting with Audit Mode Policies** - as with all new policies, we recommend rolling out your new deny policy in Audit Mode and monitoring the [3077 block events](event-id-explanations.md) to ensure only the applications you intended to block are being blocked. More information on monitoring block events via the Event Viewer logs and Advanced Hunting: [Managing and troubleshooting Windows Defender Application Control policies](windows-defender-application-control-operational-guide.md)
|
||||
|
||||
2. **Recommended Deny Rules Types** - signer and file attribute rules are recommended from a security, manageability, and performance perspective. Hash rules should only be utilized where otherwise impossible. The hash of an application is updated for every new version released by the publisher, which quickly becomes impractical to manage and protect against new threats where the attacker is quickly iterating on the payload. Additionally, WDAC has optimized parsing of hash rules, but devices may see performance impacts at runtime evaluation when policies have tens of thousands or more hash rules.
|
||||
|
||||
## Creating a Deny Policy Tutorial
|
||||
|
||||
Deny rules and policies can be created using the PowerShell cmdlets or the [WDAC Wizard](https://webapp-wdac-wizard.azurewebsites.net/). We recommend creating signer rules (PCACertificate, Publisher, and FilePublisher) wherever possible. In the cases of unsigned binaries, rules must be created on attributes of the file, such as the original filename, or the hash.
|
||||
Deny rules and policies can be created using the PowerShell cmdlets or the [WDAC Wizard](https://webapp-wdac-wizard.azurewebsites.net/). We recommend creating signer rules (PCACertificate, Publisher, and FilePublisher) wherever possible. In the cases of unsigned binaries, rules must be created on attributes of the file, such as the original filename, or the hash.
|
||||
|
||||
### Software Publisher Based Deny Rule
|
||||
|
||||
```Powershell
|
||||
$DenyRules += New-CIPolicyRule -Level FilePublisher -DriverFilePath <binary_to_block> -Deny -Fallback FileName,Hash
|
||||
```
|
||||
|
||||
### Software Attributes Based Deny Rule
|
||||
|
||||
```Powershell
|
||||
$DenyRules += New-CIPolicyRule -Level FileName -DriverFilePath <binary_to_block> -Deny -Fallback Hash
|
||||
```
|
||||
|
||||
### Hash Based Deny Rule
|
||||
|
||||
```PowerShell
|
||||
New-CIPolicyRule -Level Hash -DriverFilePath <binary_to_block> -Deny
|
||||
```
|
||||
|
||||
### Adding Allow All Rules
|
||||
If necessary, as in the cases listed above, [Allow All Rules](#adding-allow-rules) may need to be added to the policy. The Allow All rules can be manually added to the policy xml or by merging with the Allow All xml present on the client system in the WDAC template folder:
|
||||
|
||||
If necessary, as in the cases listed above, [Allow All Rules](#adding-allow-rules) may need to be added to the policy. The Allow All rules can be manually added to the policy xml or by merging with the Allow All xml present on the client system in the WDAC template folder:
|
||||
|
||||
```PowerShell
|
||||
$DenyPolicy = <path_to_deny_policy>
|
||||
$AllowAllPolicy = $Env:windir + "\schemas\CodeIntegrity\ExamplePolicies\AllowAll.xml"
|
||||
Merge-CIPolicy -PolicyPaths $DenyPolicy, $AllowAllPolicy -OutputFilePath $DenyPolicy
|
||||
```
|
||||
|
||||
### Deploying the Deny Policy
|
||||
Policies should be thoroughly evaluated and first rolled out in audit mode before strict enforcement. Policies can be deployed via multiple options:
|
||||
|
||||
Policies should be thoroughly evaluated and first rolled out in audit mode before strict enforcement. Policies can be deployed via multiple options:
|
||||
|
||||
1. Mobile Device Management (MDM): [Deploy WDAC policies using Mobile Device Management (MDM) (Windows)](deploy-windows-defender-application-control-policies-using-intune.md)
|
||||
|
||||
@ -150,4 +159,4 @@ Policies should be thoroughly evaluated and first rolled out in audit mode befor
|
||||
|
||||
3. Scripting [Deploy Windows Defender Application Control (WDAC) policies using script (Windows)](deployment/deploy-wdac-policies-with-script.md)
|
||||
|
||||
4. Group Policy: [Deploy WDAC policies via Group Policy (Windows)](deploy-windows-defender-application-control-policies-using-group-policy.md)
|
||||
4. Group Policy: [Deploy WDAC policies via Group Policy (Windows)](deploy-windows-defender-application-control-policies-using-group-policy.md)
|
||||
|
@ -11,10 +11,10 @@ ms.localizationpriority: medium
|
||||
audience: ITPro
|
||||
ms.collection: M365-security-compliance
|
||||
author: jsuther1974
|
||||
ms.reviewer: isbrahm
|
||||
ms.reviewer: jogeurte
|
||||
ms.author: dansimp
|
||||
manager: dansimp
|
||||
ms.date: 06/02/2021
|
||||
ms.date: 02/01/2022
|
||||
ms.technology: windows-sec
|
||||
---
|
||||
|
||||
@ -22,71 +22,71 @@ ms.technology: windows-sec
|
||||
|
||||
A Windows Defender Application Control (WDAC) policy logs events locally in Windows Event Viewer in either enforced or audit mode. These events are generated under two locations:
|
||||
|
||||
- Event IDs beginning with 30 appear in **Applications and Services logs** > **Microsoft** > **Windows** > **CodeIntegrity** > **Operational**
|
||||
- Events about WDAC policy activation and the control of executables, dlls, and drivers appear in **Applications and Services logs** > **Microsoft** > **Windows** > **CodeIntegrity** > **Operational**
|
||||
|
||||
- Event IDs beginning with 80 appear in **Applications and Services logs** > **Microsoft** > **Windows** > **AppLocker** > **MSI and Script**
|
||||
- Events about the control of MSI installers, scripts, and COM objects appear in **Applications and Services logs** > **Microsoft** > **Windows** > **AppLocker** > **MSI and Script**
|
||||
|
||||
> [!NOTE]
|
||||
> These event IDs are not applicable on Windows Server Core edition.
|
||||
> These event IDs are not included on Windows Server Core edition.
|
||||
|
||||
## Microsoft Windows CodeIntegrity Operational log event IDs
|
||||
## WDAC events found in the Microsoft Windows CodeIntegrity Operational log
|
||||
|
||||
| Event ID | Explanation |
|
||||
|--------|-----------|
|
||||
| 3076 | Audit executable/dll file |
|
||||
| 3077 | Block executable/dll file |
|
||||
| 3089 | Signing information event correlated with either a 3076 or 3077 event. One 3089 event is generated for each signature of a file. Contains the total number of signatures on a file and an index as to which signature it is. Unsigned files will generate a single 3089 event with TotalSignatureCount 0. Correlated in the "System" portion of the event data under "Correlation ActivityID". |
|
||||
| 3099 | Indicates that a policy has been loaded |
|
||||
| 3004 | This event isn't common and may occur with or without a WDAC policy present. It typically indicates a kernel driver tried to load with an invalid signature. For example, the file may not be WHQL-signed on a system where WHQL is required. |
|
||||
| 3033 | This event isn't common. It often means the file's signature is revoked or expired. Try using option *20 Enabled:Revoked Expired As Unsigned* in your policy along with a non-signature rule (for example, hash) to address issues with revoked or expired certs. |
|
||||
| 3034 | This event isn't common. It is the audit mode equivalent of event 3033 described above. |
|
||||
| 3076 | This event is the main WDAC block event for audit mode policies. It indicates that the file would have been blocked if the WDAC policy was enforced. |
|
||||
| 3077 | This event is the main WDAC block event for enforced policies. It indicates that the file did not pass your WDAC policy and was blocked. |
|
||||
| 3089 | This event contains signature information for files that were blocked or would have been blocked by WDAC. One 3089 event is created for each signature of a file. The event shows the total number of signatures found and an index value to identify the current signature. Unsigned files produce a single 3089 event with TotalSignatureCount 0. 3089 events are correlated with 3004, 3033, 3034, 3076 and 3077 events. You can match the events using the "Correlation ActivityID" found in the "System" portion of the event. |
|
||||
| 3099 | Indicates that a policy has been loaded. This event also includes information about the policy options that were specified by the policy. Refer to the |
|
||||
|
||||
## Microsoft Windows AppLocker MSI and Script log event IDs
|
||||
## WDAC events found in the Microsoft Windows AppLocker MSI and Script log
|
||||
|
||||
| Event ID | Explanation |
|
||||
|--------|-----------|
|
||||
| 8028 | Audit script/MSI file generated by Windows LockDown Policy (WLDP) being called by the script hosts themselves. Note: there is no WDAC enforcement on third-party script hosts. |
|
||||
| 8029 | Block script/MSI file |
|
||||
| 8028 | This event indicates that a script host, such as PowerShell, queried WDAC about a file the script host was about to run. Since the WDAC policy was in audit mode, the script or MSI file should have run. Some script hosts may have additional information in their logs. Note: Most third-party script hosts do not integrate with WDAC. Consider the risks from unverified scripts when choosing which script hosts you allow to run. |
|
||||
| 8029 | This event is the enforcement mode equivalent of event 8028 described above. Note: While this event says that a script was blocked, the actual script enforcement behavior is implemented by the script host. The script host may allow the file to run with restrictions and not block the file outright. For example, PowerShell will allow a script to run but only in [Constrained Language Mode](/powershell/module/microsoft.powershell.core/about/about_language_modes.md). |
|
||||
| 8036| COM object was blocked. To learn more about COM object authorization, see [Allow COM object registration in a Windows Defender Application Control policy](allow-com-object-registration-in-windows-defender-application-control-policy.md). |
|
||||
| 8038 | Signing information event correlated with either an 8028 or 8029 event. One 8038 event is generated for each signature of a script file. Contains the total number of signatures on a script file and an index as to which signature it is. Unsigned script files will generate a single 8038 event with TotalSignatureCount 0. Correlated in the "System" portion of the event data under "Correlation ActivityID". |
|
||||
| 8038 | Signing information event correlated with either an 8028 or 8029 event. One 8038 event is generated for each signature of a script file. Contains the total number of signatures on a script file and an index as to which signature it is. Unsigned script files will generate a single 8038 event with TotalSignatureCount 0. 8038 events are correlated with 8028 and 8029 events and can be matched using the "Correlation ActivityID" found in the "System" portion of the event. |
|
||||
|
||||
## Optional Intelligent Security Graph (ISG) or Managed Installer (MI) diagnostic events
|
||||
## Diagnostic events for Intelligent Security Graph (ISG) and Managed Installer (MI)
|
||||
|
||||
If either the ISG or MI is enabled in a WDAC policy, you can optionally choose to enable 3090, 3091, and 3092 events to provide more diagnostic information.
|
||||
Events 3090, 3091 and 3092 prove helpful diagnostic information when the ISG or MI option is enabled by any WDAC policy. These events can help you debug why something was allowed/denied based on managed installer or ISG. These events do not necessarily indicate a problem but should be reviewed in context with other events like 3076 or 3077 described above.
|
||||
|
||||
| Event ID | Explanation |
|
||||
|--------|---------|
|
||||
| 3090 | Allow executable/dll file |
|
||||
| 3091 | Audit executable/dll file |
|
||||
| 3092 | Block executable/dll file |
|
||||
| 3090 | *Optional* This event indicates that a file was allowed to run based purely on ISG or managed installer. |
|
||||
| 3091 | This event indicates that a file did not have ISG or managed installer authorization and the policy is in audit mode. |
|
||||
| 3092 | This event is the enforcement mode equivalent of 3091. |
|
||||
|
||||
3090, 3091, and 3092 events are generated based on the status code of whether a binary passed the policy, regardless of what reputation it was given or whether it was allowed by a designated MI. The SmartLocker template that appears in the event should indicate why the binary passed/failed. Only one event is generated per binary pass/fail. If both ISG and MI are disabled, 3090, 3091, and 3092 events will not be generated.
|
||||
The above events are reported per active policy on the system, so you may see multiple events for the same file.
|
||||
|
||||
### SmartLocker template
|
||||
### ISG and MI diagnostic event details
|
||||
|
||||
Below are the fields that help to diagnose what a 3090, 3091, or 3092 event indicates.
|
||||
The following information is found in the details for 3090, 3091, and 3092 events.
|
||||
|
||||
| Name | Explanation |
|
||||
|------|------|
|
||||
| StatusCode | STATUS_SUCCESS indicates a binary passed the active WDAC policies. If so, a 3090 event is generated. If not, a 3091 event is generated if the blocking policy is in audit mode, and a 3092 event is generated if the policy is in enforce mode. |
|
||||
| ManagedInstallerEnabled | Policy trusts a MI |
|
||||
| PassesManagedInstaller | File originated from a trusted MI |
|
||||
| SmartlockerEnabled | Policy trusts the ISG |
|
||||
| PassesSmartlocker | File had positive reputation |
|
||||
| ManagedInstallerEnabled | Indicates whether the specified policy enables managed installer trust |
|
||||
| PassesManagedInstaller | Indicates whether the file originated from a MI |
|
||||
| SmartlockerEnabled | Indicates whether the specified policy enables ISG trust |
|
||||
| PassesSmartlocker | Indicates whether the file had positive reputation according to the ISG |
|
||||
| AuditEnabled | True if the policy is in audit mode, otherwise it is in enforce mode |
|
||||
| PolicyName | The name of the policy to which the event applies |
|
||||
|
||||
### Enabling ISG and MI diagnostic events
|
||||
|
||||
In order to enable 3091 audit events and 3092 block events, you must create a TestFlags regkey with a value of 0x100. You can do so using the following PowerShell command:
|
||||
|
||||
```powershell
|
||||
reg add hklm\system\currentcontrolset\control\ci -v TestFlags -t REG_DWORD -d 0x100
|
||||
```
|
||||
|
||||
To enable 3090 allow events, and 3091 and 3092 events, you must instead create a TestFlags regkey with a value of 0x300. You can do so using the following PowerShell command:
|
||||
To enable 3090 allow events, create a TestFlags regkey with a value of 0x300 as shown in the following PowerShell command. Then restart your computer.
|
||||
|
||||
```powershell
|
||||
reg add hklm\system\currentcontrolset\control\ci -v TestFlags -t REG_DWORD -d 0x300
|
||||
```
|
||||
|
||||
## System Integrity Policy Options
|
||||
3091 and 3092 events are inactive on some versions of Windows. The above steps will also turn on those events.
|
||||
|
||||
## Event ID 3099 Options
|
||||
|
||||
The WDAC policy rule-option values can be derived from the "Options" field in the Details section of the Code integrity 3099 event. To parse the values, first convert the hex value to binary. Next, use the bit addresses and their values from the table below to determine the state of each [policy rule-option](/select-types-of-rules-to-create#table-1-windows-defender-application-control-policy---rule-options).
|
||||
|
||||
| Bit Address | Policy Rule Option |
|
||||
@ -113,6 +113,7 @@ The WDAC policy rule-option values can be derived from the "Options" field in th
|
||||
| 28 | `Enabled:Update Policy No Reboot` |
|
||||
|
||||
## Appendix
|
||||
|
||||
A list of other relevant event IDs and their corresponding description.
|
||||
|
||||
| Event ID | Description |
|
||||
|
@ -22,9 +22,9 @@ ms.technology: windows-sec
|
||||
|
||||
**Applies to:**
|
||||
|
||||
- Windows 10
|
||||
- Windows 11
|
||||
- Windows Server 2016 and above
|
||||
- Windows 10
|
||||
- Windows 11
|
||||
- Windows Server 2016 and above
|
||||
|
||||
>[!NOTE]
|
||||
>Some capabilities of Windows Defender Application Control are only available on specific Windows versions. Learn more about the [Windows Defender Application Control feature availability](feature-availability.md).
|
||||
|
Loading…
x
Reference in New Issue
Block a user